Mysql
 sql >> Base de données >  >> RDS >> Mysql

Regrouper les lignes par intervalle de tranche d'année

Calculez d'abord la décade pour chaque ligne

select floor(year(`year`) / 10) * 10 as decade
from tbl_people

puis utilisez ce résultat intermédiaire pour compter SQL Fiddle

select count(*), decade, decade + 9
from (select floor(year(`year`) / 10) * 10 as decade
      from tbl_people) t
group by decade

ou ce SQL Fiddle , si vous voulez la décennie dans une colonne

select count(*) as count, concat(decade, '-', decade + 9) as year
from (select floor(year(`year`) / 10) * 10 as decade
      from tbl_people) t
group by decade