Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gruppieren Sie Zeilen nach Jahresbandintervall

Berechnen Sie zuerst die Dekade für jede Zeile

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

und verwenden Sie dann dieses Zwischenergebnis zum Zählen von SQL Fiddle

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

oder diese SQL Fiddle , wenn Sie das Jahrzehnt in einer Spalte haben möchten

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