sql >> Databáze >  >> RDS >> PostgreSQL

jak zajistit, aby tento dotaz vracel také řádky s hodnotou počtu 0?

        -- CTE to the rescue!!!
WITH cal AS (
        SELECT generate_series('2012-02-02 00:00:00'::timestamp , '2012-03-02 05:00:00'::timestamp , '1 hour'::interval) AS stamp
        )
, qqq AS (
        SELECT date_trunc('hour', executiontime) AS stamp
        , count(*) AS zcount
        FROM mytable
        GROUP BY date_trunc('hour', executiontime)
        )
SELECT cal.stamp
        , COALESCE (qqq.zcount, 0) AS zcount
FROM cal
LEFT JOIN qqq ON cal.stamp = qqq.stamp
ORDER BY stamp ASC
        ;


  1. CommandError:Zdá se, že nemáte nainstalovaný program 'psql' nebo jej nemáte na cestě

  2. MySQL, jak získat součet počátečních/koncových dat s možnými překrývajícími se daty

  3. Jak zachytit a znovu zahodit všechny chyby v MySQL

  4. Neznámý sloupec MySQL v klauzuli ON