2010-10-06 13 views
8

Ho la seguente tabella:Selezionare al mese

purchases(id, item, user, price, time); 

Il campo time è un timestamp.

Ho bisogno di una query che restituisca una riga al mese e quella riga conterrà la somma di price per ogni articolo in quel mese.

risposta

9

Prova questo:

SELECT MONTH(`time`) AS month, SUM(price) AS price 
FROM your_table 
GROUP BY MONTH(`time`) 

Se si dispone di più di un anno di dati si consiglia inoltre di includere l'anno nel tuo gruppo da:

SELECT YEAR(`time`) AS year, MONTH(`time`) AS month, SUM(price) AS price 
FROM your_table 
GROUP BY YEAR(`time`), MONTH(`time`) 
2

che dire GROUP BY YEAR(DATE(time)) ASC, MONTH(DATE(time)) ASC?

Problemi correlati