oracle統(tǒng)計每個月的數(shù)據(jù) Oracle數(shù)據(jù)庫按時間進(jìn)行分組統(tǒng)計數(shù)據(jù)的方法?
Oracle數(shù)據(jù)庫按時間進(jìn)行分組統(tǒng)計數(shù)據(jù)的方法?從DUALTO 中選擇TOCHAR(TODATE(20160316,“YYYYMMDD”),“W”),CHAR函數(shù)可以得到一個月中一天中的一周,然后可以
Oracle數(shù)據(jù)庫按時間進(jìn)行分組統(tǒng)計數(shù)據(jù)的方法?
從DUALTO 中選擇TOCHAR(TODATE(20160316,“YYYYMMDD”),“W”),CHAR函數(shù)可以得到一個月中一天中的一周,然后可以根據(jù)這個函數(shù)進(jìn)行分組
這是SQL的基本技能。每個數(shù)據(jù)庫的SQL編寫方法相同,但功能不同。
例如,表是datatable,其中僅存儲一個月的數(shù)據(jù)。時間字段是biztime,數(shù)量字段是qty。從1日到10日每天8:00到15:00索要數(shù)量的總和。語句:
從數(shù)據(jù)表中選擇日期部分(“day”,biztime),sum(qty),其中日期部分(“day”,biztime)>=1和日期部分(“day”,biztime)<=10和日期部分(hour”,biztime)>=8和日期部分(hour”,biztime)<15按日期部分(“day”,biztime)分組按日期部分(“day”,biztime)
結(jié)果:
1 XX2 XX
3 XX
當(dāng)然,以上是最簡單的情況。例如,在稍微復(fù)雜的情況下,第6位沒有數(shù)據(jù),但列表中必須有第6位(數(shù)量為0)。在這種情況下,需要連接。其實很簡單。