oracle查詢一段時間內每一天的統計資料sql怎麼寫?使用者99477495356152019-10-24 12:04:08

這是sql的基本功。各個資料庫SQL寫法一樣,只是那幾個函式不一樣而已。

比如表是datatable,,裡面只存了一個月的資料,時間欄位biztime,數量欄位qty。要求1-10號每天8-15點時段qty之和。語句:

select date_part(‘day’,biztime),sum(qty) from datatable where date_part(‘day’,biztime)>=1 and date_part(‘day’,biztime)<=10 and datepart(hour‘,biztime)>=8 and date_part(hour’,biztime)<15 group by date_part(‘day’,biztime) order by date_part(‘day’,biztime)

結果:

1 XX

2 XX

3 XX

……

當然,以上是最簡單的情況。稍複雜的情況,比如6號那天沒資料,但要求列表中要有6號(數量為0),這時就要用到連線,其實也是非常簡單啦。

oracle查詢一段時間內每一天的統計資料sql怎麼寫?使用者66240958745362019-09-19 18:13:24

假設你的表還有一個欄位: 名稱。 資料大概是:

名稱 日期 金額

甲 2017。10 45

乙 2017。11 53

select * from table where 名稱 in (

select 名稱 from table where 日期 between ‘2017。11’ and ‘2018。3’ group by 名稱 having min(金額)>50

) and 日期 between ‘2017。11’ and ‘2018。3’

上面的可以查出2017。11-2018。1這段時間內符合條件的記錄。

查出2個時間段可以將上面的SQL複製一份union一下。 不union也有辦法實現。