sql月度分組 SQL語句按年 月 日 季度分組

2021-10-21 08:13:37 字數 2549 閱讀 5181

1.按年份分組

select to_char(exportdate,『yyyy』),sum(amount) from table1 group by to_char(exportdate,『yyyy』);

年份      數量

2009    68

2010    137

2008    103

2.按月份分組

select to_char(exportdate,『yyyy-mm』),sum(amount) from table1 group by to_char(exportdate,『yyyy-mm』)

order by to_char(exportdate,『yyyy-mm』);

月份           數量

2008-02    20

2008-03    2

2008-04    6

2008-06    75

2009-10    23

2009-11    45

2010-08    5

2010-09    44

2010-10    88

3.按季度分組

select to_char(exportdate,『yyyy-q』),sum(amount) from table1 group by to_char(exportdate,『yyyy-q』)

order by to_char(exportdate,『yyyy-q』);

季度          數量

2008-1    22

2008-2    81

2009-4    68

2010-3    49

2010-4    88

4.按周分組

select to_char(exportdate,『yyyy-iw』),sum(amount) from table1 group by to_char(exportdate,『yyyy-iw』)

order by to_char(exportdate,『yyyy-iw』);

周             數量

2008-07    20

2008-11    2

2008-16    6

2008-24    75

2009-43    23

2009-46    45

2010-31    5

2010-35    44

2010-40    88

補充:按季度分組還有個比較笨的方法(參考網路資源)

select to_char(exportdate,『yyyy』),

sum(decode(to_char(exportdate,『mm』),『01』,amount,『02』,amount,『03』,amount,0)) as 第一季,

sum(decode(to_char(exportdate,『mm』),『04』,amount,『05』,amount,『06』,amount,0)) as 第二季,

sum(decode(to_char(exportdate,『mm』),『07』,amount,『08』,amount,『09』,amount,0)) as 第三季,

sum(decode(to_char(exportdate,『mm』),『10』,amount,『11』,amount,『12』,amount,0)) as 第四季

from table1

group by to_char(exportdate,『yyyy』);

年份        第一季     第二季     第三季     第四季

2009         0            0            0          68

2010         0            0            49        88

2008         22          81           0          0

按照月份統計

select count(id) cnt,datepart(mm,time) [month]

from [table]

where [time] between '2007/09/08 09:10:43' and '2007/10/09 04:32:37'

group by datepart(mm,time)

--按照日統計

select count(id) cnt,datepart(dd,time) [day]

from [table]

where time between '2007/09/08 09:10:43' and '2007/10/09 04:32:37'

group by datepart(dd,time)

--按照小時統計

select count(id) cnt,datepart(hh,time) [hour]

from [table]

where [time] between '2007/09/08 09:10:43' and '2007/10/09 04:32:37'

group by datepart(hh,time)

sql月度彙總 sql月份彙總查詢語句

sql月份彙總查詢語句 select 鉛筆 as 月份 sum case month 日期 when 1 then 鉛筆 else 0 end as 1月 sum case month 日期 when 2 then 鉛筆 else 0 end as 2月 sum case month 日期 when...

SQL 分組排序語句

我們在生產實踐中經常會有這樣的需求 分組編號。如下有乙個城市區域表region 我們需要對上表region按city分組,對region進行排序,得到如下結果 具體sql如下 1 select city,region,2 right 100 row number over partition by ...

SQL語句 分組統計

一 教師號 星期號 是否有課 有 有 有 有 有 寫一條sql語句讓你變為這樣的表 教師號 星期一 星期二 星期三 各星期下的數字表示 對應的教師在星期幾已經排的課數 答案是 select 教師號 sum case when 星期號 1then 是否有課 else 0end as 星期一 sum c...