sql >> Databáze >  >> RDS >> Mysql

Seskupit řádky podle intervalu ročního pásma

Nejprve vypočítejte dekádu pro každý řádek

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

a poté použijte tento mezivýsledek pro počítání SQL Fiddle

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

nebo tento SQL Fiddle , pokud chcete dekádu v jednom sloupci

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. MySQL group by a max vrací nesprávné řádky

  2. Oracle Wait Events, které by měl znát každý

  3. Vytváření přístupového menu s ovládáním stromového zobrazení

  4. PHP MySQL řecká písmena zobrazující se jako ???? značky