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

Jak pogrupować według miesiąca i roku, gdy mam tylko pole daty i godziny?

Musisz pogrupować według fragmentów.

SELECT 
    SUM(amount)
FROM 
    transaction
GROUP BY 
    EXTRACT(MONTH FROM when),
    EXTRACT(YEAR FROM when)

A jeśli potrzebujesz tych kolumn, to

SELECT
    EXTRACT(MONTH FROM when) as month, 
    EXTRACT(YEAR FROM when) as year, 
    SUM(amount)
FROM 
    transaction
GROUP BY 
    month,
    year

Oczywiście możesz dołączyć ORDER BY i używaj również krótkich nazw:

SELECT 
    EXTRACT(MONTH FROM when) as month, 
    EXTRACT(YEAR FROM when) as year, 
    SUM(amount)
FROM 
    transaction
GROUP BY 
    month, 
    year
ORDER BY 
    year DESC, 
    month DESC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw tabelę MySql, jeśli nie istnieje, w przeciwnym razie zaktualizuj

  2. PHP MYSQL INSERT pomaga bez błędów

  3. Nie można połączyć się z AWS RDS przez PDO

  4. Czy pole o typie DATE może mieć wartość DEFAULT z CURRENT_TIMESTAMP?

  5. MySQL nie wybiera wiersza o podanym identyfikatorze