1
我真的很新PL/SQL在oracle查詢中相同的行數
我試圖做一個查詢來顯示一些購買和他們的日期。問題是,我想確保查詢的結果返回給我某種group-by,每個日期的行數相同,具體取決於最大子集的數量。
下面是關於甲骨文的例子:
select date_val, cost
from test
order by date_val
,給了我這樣的結果:
date_val cost
03/04/2017 950907.12
03/04/2017 10935431.88
03/04/2017 1411410
03/04/2017 504604380
04/04/2017 1348410
05/04/2017 1379000560
05/04/2017 1208340
05/04/2017 1735016.32
06/04/2017 15913063.36
06/04/2017 1383744.64
06/04/2017 1522710
06/04/2017 1172111669
07/04/2017 278336734
07/04/2017 579649.52
在這種情況下,最大的子集的長度是4(日期03和06 ),所以我想完成表格,並得到這樣的東西:
date_val cost
03/04/2017 950907.12
03/04/2017 10935431.88
03/04/2017 1411410
03/04/2017 504604380
04/04/2017 1348410
04/04/2017 0
04/04/2017 0
04/04/2017 0
05/04/2017 1379000560
05/04/2017 1208340
05/04/2017 1735016.32
05/04/2017 0
06/04/2017 15913063.36
06/04/2017 1383744.64
06/04/2017 1522710
06/04/2017 1172111669
07/04/2017 278336734
07/04/2017 579649.52
07/04/2017 0
07/04/2017 0
任何建議都會非常有幫助。
在此先感謝!
是'date'數據類型中的日期嗎? (如果沒有,爲什麼不呢?)如果是,什麼是時間組件?在Oracle中,'date'總是具有時間分量,即使它不顯示在屏幕上。有可能你的日期的時間是'00:00:00'(通常的做法是讓日期成爲「純粹」的日期,沒有時間) - 是這種情況嗎? – mathguy
另外,如果某個日期完全缺失(假設04/04沒有行),您是否仍然希望將它添加到結果中,四行,每個行的成本都是0? – mathguy
你好!是的,數據類型是日期,但正如你所說,它們是純日期,沒有時間。 而對於另一個問題,我只想顯示在桌子上的日期,如果04/04沒有出現,那麼我不想看到它,但如果它至少有1條記錄,我希望它填寫其餘記錄與成本0 –