sql >> Databáze >  >> RDS >> Mysql

seskupit podle názvu měsíce v sql

Myslím, že nejlepší možností je mít měsíční tabulku, která vypadá následovně

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

pojmenujte tuto tabulku jako měsíce

a můžete použít dotaz, jak je uvedeno níže

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

To by mělo fungovat dobře!

Zde je SQL Fiddle to by vám pomohlo




  1. Proč dotaz s IN (poddotaz) trvá déle než dotaz s IN (diskrétní seznam)

  2. křížová tabulka se 2 (nebo více) názvy řádků

  3. Jak přidat kladné celočíselné omezení do celočíselného sloupce v MySQL?

  4. Vypuštění připojeného uživatele ze schématu databáze Oracle 10g