Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

agrupar por nome do mês em sql


Eu acho que a melhor opção é ter uma tabela de meses com a seguinte aparência
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

nomeie esta tabela como meses

e você pode usar a consulta como abaixo
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

Isso deve funcionar bem!

Aqui está o SQL Fiddle isso te ajudaria