2009-09-23 4 views
0

J'ai un champ d'horodatage SQL et je dois groupe par mois commeGroupe mois

Jan, Feb, Mar, ... mais en nombre (01, 02, 03, ...)

J'ai essayé

GROUP BY DATE_FORMAT(i.push_date, '%Y-%m') 

Mais il ne fonctionne pas.

+0

qui devrait fonctionner. vous devrez poster une requête réelle et complète et quelques exemples de données si vous voulez de l'aide. – longneck

+0

Voulez-vous réellement regrouper par année + mois ou juste mois? – Greg

+0

Voulez-vous le regrouper par année et mois, ou seulement mois? – Greg

Répondre

2

Essayez d'utiliser la méthode Month().

Select Month(<field>) from <table> group by Month(<column>); 

Ce que vous obtenez sera le mois sous forme numérique. Vous pouvez regrouper par mois et l'année qui serait:

Select Year(<column), Month(<field>) from <table> group by Month(<column>), Year(<column>); 

Date/Time Functions for MySql

0
GROUP BY YEAR(i.push_date), MONTH(i.push_date)