sql >> Databasteknik >  >> RDS >> Mysql

Gruppera rader efter årsbandintervall

Beräkna först årtiondet för varje rad

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

och använd sedan detta mellanresultat för att räkna SQL Fiddle

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

eller denna SQL-fiol , om du vill ha decenniet i en kolumn

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


  1. Hur gör man en andra PDO mysql-fråga på en stund från en annan fråga?

  2. Vilken kolumndatatyp ska jag använda för att lagra stora mängder text eller html

  3. SQL Server loop - hur går jag igenom en uppsättning poster

  4. Använd NEWSEQUENTIALID() för att skapa en inkrementerande GUID i SQL Server