Mysql
 sql >> Base de données >  >> RDS >> Mysql

grouper par nom de mois en sql

Je pense que la meilleure option est d'avoir une table mensuelle qui ressemble à ceci

id | Month
---------------------
 1 | January
 2 | February
 3 | March
 4 | April
 5 | May
 6 | June
 7 | July
 8 | August
 9 | September
10 | October
11 | November
12 | December

nommez ce tableau comme mois

et vous pouvez utiliser la requête comme ci-dessous

SELECT
    months.`month`,
    Sum(sales.quantity)
FROM
    sales
RIGHT OUTER JOIN months ON months.`month` = monthname(sales.created)
GROUP BY
    months.`month`
ORDER BY
    months.id

Cela devrait bien fonctionner !

Voici le SQL Fiddle ça t'aiderait