Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да изберете записи, групирани по час от деня, включително часове, които нямат записи

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL разработчик:Не може да се събере системна статистика:недостатъчни привилегии

  2. ORA-02303:не може да премахне или замени тип със зависими от тип или таблица

  3. Функция NANVL() в Oracle

  4. Да се ​​изтрият ли всички записи с изключение на най-новия?

  5. Изтриване на празен етикет от xmltype oracle