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

MySQL WEEK() :Získejte všechny týdny v rozsahu dat (se záznamy/bez záznamů)

Za předpokladu, že máte tabulku celých čísel (tzv. `numbers` níže):

   SELECT COALESCE(n, 0) AS num_complaints, CONCAT('Week ', i) AS `week`
     FROM (SELECT i
             FROM numbers
            WHERE i BETWEEN (SELECT WEEK(MIN(complaintRaisedDate)) FROM events LIMIT 1)
                            AND
                            (SELECT WEEK(MAX(complaintRaisedDate)) FROM events LIMIT 1))
          week_ranges
LEFT JOIN (  SELECT count(id) AS n, WEEK(complaintRaisedDate) AS weeknum
               FROM events
              WHERE categoryId=1
           GROUP BY weeknum) weekly_tallies
       ON week_ranges.i = weekly_tallies.weeknum
 ORDER BY `week` ASC;

SQL housle



  1. Oracle SQL:Export do CSV bez použití nových řádků

  2. Proč se ora_rowscn změní bez aktualizace tabulky

  3. Doctrine2 nenastaví sekvenci na výchozí hodnotu pro sloupec id (postgres)

  4. vnořená vložka v mysql pro značkování