sql >> Database >  >> RDS >> Oracle

Records selecteren die zijn gegroepeerd op uur van de dag, inclusief uren die geen records hebben

SELECT h.hrs, NVL(Quantity, 0) Quantity
FROM (SELECT TRIM(to_char(LEVEL - 1, '00')) hrs
       FROM dual
       CONNECT BY LEVEL < 25) h
LEFT JOIN (SELECT TO_CHAR(event_date, 'HH24') AS during_hour,
                  COUNT(*) Quantity
           FROM user_activity u
           WHERE event_date BETWEEN
                 to_date('15-JUN-2010 14:00:00', 'DD-MON-YYYY HH24:MI:SS') AND
                 to_date('16-JUN-2010 13:59:59', 'DD-MON-YYYY HH24:MI:SS')
           AND event = 'user.login'
           GROUP BY TO_CHAR(event_date, 'HH24')) t
ON (h.hrs = t.during_hour)
ORDER BY h.hrs;


  1. MySQL retourneert eerste en laatste record voor opeenvolgende identieke resultaten

  2. C# SQLServer haalt resultaten op en plaatst ze in een .csv-formaat

  3. Zoek n dichtstbijzijnde buren voor een bepaald punt met behulp van PostGIS?

  4. 12.2 RAC/GI Nieuwe functies