0
我的目標是生成這樣的表中存在的每分鐘計數的所有記錄。在指定的時間限制內爲每天生成每分鐘字符串
SELECT
COUNT(*) as RECORD_COUNT,
to_Char(MY_DATE,'HH24:MI') MINUTE_GAP
FROM
TABLE_A
WHERE
BLAH='Blah! Blah!!'
GROUP BY
to_Char(MY_DATE,'HH24:MI')
但是,此查詢不給我沒有結果的分鐘。
爲了獲得所需的結果,我將通過在這兩個結果之間進行JOIN來使用以下查詢來填充原始查詢中的空白。
SELECT
*
FROM
( SELECT
TO_CHAR(TRUNC(SYSDATE)+((ROWNUM-1) /1440) ,'HH24:MI') as MINUTE_GAP,
0 as COUNT
FROM
SOME_LARGE_TABLE_B
WHERE
rownum<=1440
)
WHERE
minute_gap>'07:00' /*I want only the data starting from 7:00AM*/
這對我的作品,但
- 我不能依靠SOME_LARGE_TABLE_B生成分鐘 ,因爲它可能會在某個時候在今後
- 沒有記錄查詢沒有按看起來不像專業解決方案。
有沒有更簡單的方法來做到這一點?
注意:我不希望爲一個查詢使用靜態值爲所有分鐘創建任何新表。
Brillient ...... –
從來不知道的CONNECT BY LEVEL啄....感謝很多 –
你可以使用具有相同結果的遞歸子查詢,但在這種情況下,連接方式更簡潔。 – Husqvik