我有一個包含許多活動檔案的 Oracle 表。每行都是一個檔案,并具有唯一的檔案 # 和發布日期。
| 檔案 # | 發行日期 |
|---|---|
| 1254 | 15-OCT-1997 |
| 5245 | 2005 年 5 月 22 日 |
| 7852 | 02-APR-2015 |
| 9852 | 2021 年 3 月 11 日 |
| 等等 |
我想查詢每年有多少檔案處于活動狀態。因此,如果它是在 2010 年發布的,那么我想將該檔案包含在自發布以來的每一年(2010、2011、2012 年等)中,直到今天的日期(sysdate)。
我希望我的茶幾看起來像:
| 年 | COUNT_OF_FILES |
|---|---|
| 1997年 | 20 |
| 1998年 | 32 |
| 1999年 | 55 |
| 2000年 | 42 |
| ... | ... |
| 2019年 | 130 |
| 2020年 | 155 |
| 2021年 | 151 |
我已經在堆疊周圍挖掘了一段時間,試圖找到這個查詢的一個例子,但我沒有遇到任何事情。我覺得這并不太難,但我星期五的大腦并沒有全力以赴。對類似查詢的任何幫助或觀點將不勝感激。
uj5u.com熱心網友回復:
按年份分組并回傳運行總數
select Year, sum(n) over(order by year) COUNT_OF_FILES
from (
SELECT EXTRACT(year FROM ISSUE_DATE) year, COUNT(*) n
FROM tbl
GROUP BY EXTRACT(year FROM ISSUE_DATE)
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/349307.html
