Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Grupuj rzędy według przedziałów rocznych

Najpierw oblicz dekadę dla każdego wiersza

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

a następnie użyj tego wyniku pośredniego do zliczania SQL Fiddle

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

lub to SQL Fiddle , jeśli chcesz dekadę w jednej kolumnie

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. Jak mogę połączyć dwie procedury w jedną, aby wypełnić jedną tabelę, a nie każdą z dwóch procedur wypełniających jej własną tabelę?

  2. jak uzyskać rekurencyjny wynik, wysyłając zapytanie do tabeli odwołującej się do siebie w mysql?

  3. odczyt/zapis danych Unicode w MySql

  4. Amazon EC2, mysql przerywa start, ponieważ InnoDB:mmap (x bajtów) nie powiodło się; errno 12

  5. Nie znaleziono dostawcy Entity Framework dla dostawcy ADO.NET "MySql.Data.MySqlClient"