Я был в состоянии придумать решения, добавляет ноль подсчета строк. Ниже приведен пример набора результатов. Вы увидите, что есть несколько повторяющихся значений DayOfWeekByHour. Мне нужно будет выяснить, как их суммировать, но это в основном то, что я искал. См пример код ссылки
DayOfWeekByHour, граф
100, 0
101, 0
102, 0
100, 23
201, 100
example of code
SELECT
TO_NUMBER(MOD(V,7)+1 || LPAD(MOD(V,24),2,'0')) as DayOfWeekByHour, 0
FROM (
SELECT 1 V FROM DUAL
) T
MODEL DIMENSION BY (ROWNUM R)
MEASURES (V)
RULES ITERATE (168) (
V[ITERATION_NUMBER] = CV(R) + 1
)
UNION
SELECT
TO_NUMBER(
TO_CHAR(
TO_DATE(
EXTRACT(MONTH FROM ve.CREATED_TIMESTAMP) || '/' ||
EXTRACT(DAY FROM ve.CREATED_TIMESTAMP) || '/' ||
EXTRACT(YEAR FROM ve.CREATED_TIMESTAMP) ,'MM/DD/YYYY'),'D'),'99') * 100 + TO_NUMBER(TO_CHAR(TO_DATE(
EXTRACT(MONTH FROM ve.CREATED_TIMESTAMP) || '/' ||
EXTRACT(DAY FROM ve.CREATED_TIMESTAMP) || '/' ||
EXTRACT(YEAR FROM ve.CREATED_TIMESTAMP) || ' ' ||
EXTRACT(HOUR FROM ve.CREATED_TIMESTAMP) || ':' ||
EXTRACT(MINUTE FROM ve.CREATED_TIMESTAMP)
,'MM/DD/YYYY HH24:MI'
)
,'HH24'
)
, '99') AS DayOfWeekByHour,
COUNT(*)
FROM
VIEWER.VIEWING_EVENT ve
WHERE
ve.CREATED_TIMESTAMP >= TO_TIMESTAMP('02-12-2016 00:00:00', 'dd-mm-yyyy hh24:mi:ss') AND
ve.CREATED_TIMESTAMP <= TO_TIMESTAMP('02-12-2017 00:00:00', 'dd-mm-yyyy hh24:mi:ss')
GROUP BY
TO_NUMBER(
TO_CHAR(
TO_DATE(
EXTRACT(MONTH FROM ve.CREATED_TIMESTAMP) || '/' ||
EXTRACT(DAY FROM ve.CREATED_TIMESTAMP) || '/' ||
EXTRACT(YEAR FROM ve.CREATED_TIMESTAMP) ,'MM/DD/YYYY'),'D'),'99') * 100 + TO_NUMBER(TO_CHAR(TO_DATE(
EXTRACT(MONTH FROM ve.CREATED_TIMESTAMP) || '/' ||
EXTRACT(DAY FROM ve.CREATED_TIMESTAMP) || '/' ||
EXTRACT(YEAR FROM ve.CREATED_TIMESTAMP) || ' ' ||
EXTRACT(HOUR FROM ve.CREATED_TIMESTAMP) || ':' ||
EXTRACT(MINUTE FROM ve.CREATED_TIMESTAMP)
,'MM/DD/YYYY HH24:MI'
)
,'HH24'
)
, '99')
ORDER BY
DayOfWeekByHour
;
Итак, в чем ваш вопрос? Или вы ищете кого-то, кто пишет запрос с нуля? Покажите нам какое-то усилие, например, что вы пробовали до сих пор и с чем именно вы боретесь. –
Что вы подразумеваете под подсчетом? – Nitish
Итак, вы хотите получить общее количество в час, даже если в этот час ничего нет? Возможно, вам нужно что-то вроде ['external external join'] (http://www.oracle-developer.net/display.php?id=312). В противном случае отправьте [простой пример] (http://stackoverflow.com/help/mcve). –