sql >> Database >  >> RDS >> Mysql

Mysql:tel records (inclusief nul) per maand

De eenvoudigste manier om dit in MySQL te doen, is door een tabel te maken met de naam months die een lijst geeft van alle maanden waarin u geïnteresseerd bent en gebruik een LEFT JOIN aan uw tafel.

SELECT
   YEAR(time) AS year
   MONTH(time) AS month,
   COUNT(myTable.year) AS cnt, 
FROM months
LEFT JOIN myTable 
    ON months.year = myTable.year
    AND months.month = myTable.month
GROUP BY months.year, months.month
ORDER BY months.year, months.month

Aangezien dit echter meestal een presentatieprobleem is, is het vaak gemakkelijker om de query uit te voeren zoals u al doet en het resultaat in de client te transformeren (bijv. PHP).




  1. MYSQL haalt json-elementen uit waar de json het bevat

  2. Hoe Cot() werkt in PostgreSQL

  3. Speel 2.4 - Slick 3.0.0 - VERWIJDEREN werkt niet

  4. Welke modus voor MySQL WEEK() voldoet aan ISO 8601