sql >> Databáze >  >> RDS >> Oracle

Jak vybrat záznamy seskupené podle hodiny dne včetně hodin, které nemají žádné záznamy

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. Mapujte tinyint jako booleovskou hibernaci

  2. Spuštění programu Java z příkazového řádku systému Linux, který vyžaduje další soubor

  3. Zamykání a souběžné provádění uložené procedury

  4. Jak vygenerovat dynamickou objednávku podle klauzule v proceduře PL/SQL?