sql >> Databasteknik >  >> RDS >> Mysql

Hur grupperar jag efter månad och år när jag bara har ett datetime-fält?

Du måste gruppera efter utdrag.

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

Och om du behöver dessa kolumner, då

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

Naturligtvis kan du lägga till ORDER BY och använd korta namn också:

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. mysql skickar data till in

  2. Använda Oracle JDeveloper med MySQL Database Service på Oracle Cloud Platform, del 3

  3. Min OOW15-resa är klar

  4. Lägg till främmande nyckel till befintlig tabell