Mysql
 sql >> база данни >  >> RDS >> Mysql

Групирайте редовете по годишен интервал

Първо изчислете десетилетието за всеки ред

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

и след това използвайте този междинен резултат за преброяване на SQL Fiddle

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

или тази SQL Fiddle , ако искате десетилетието в една колона

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. „PDOException“ със съобщение „SQLSTATE[HY000] [2002] Няма маршрут до хост

  2. Грешка при несинхронизирани команди на PHP

  3. Защо създаването на външен ключ в Laravel 5.8 се проваля?

  4. Заявка за получаване на родителски записи с дъщерни записи, последвани от следващи записи родител-дете в mysql

  5. ГРЕШКА:Неуспешно изграждане на родно разширение на gem - Грешка при инсталиране на mysql2