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...