❶ sql 分日期匯總
select 部門名稱,存貨大類編碼 , sum(case
when 日期 = 1月份 then
b.fnum
else
0
end)(1) 月份數量,
sum(case
when 日期 = 1月份 then
b.ftaxmoney
else
0
end)(1) 月份金額,
sum(case
when 日期 = 2月份 then
b.fnum
else
0
end)(2) 月份數量,
sum(case
when 日期 = 2月份 then
b.ftaxmoney
else
0
end)(2) 月份金額,
............. 3月
......... 4 月
....12月
from a inner join b on a.id=b.id
group by 部門名稱,存貨大類編碼
自己照著寫吧
❷ 如何用sql的日期函數,分別查出1月~12月每個月的銷售金額
一般情況下數據是按日期存到資料庫中的,但考慮到某些月份是無數據的,可用如下語句:
1、創建測試表及插入測試數據:
create table sale
(id int,
name varchar(10),
sdate datetime,
money int)
insert into sale values (1,'西瓜','2015-01-01',10)
insert into sale values (2,'香蕉','2015-01-05',20)
insert into sale values (3,'蘋果','2015-02-01',60)
insert into sale values (4,'葡萄','2015-02-23',345)
insert into sale values (5,'柚子','2015-04-23',10)
insert into sale values (6,'牛奶','2015-05-12',67)
insert into sale values (7,'地瓜','2015-06-01',10)
insert into sale values (8,'土豆','2015-07-01',10)
2、執行語句:
with t as
( select '2015-'+right('0'+cast(number+1 as varchar),2) number from master..spt_values where type='p' and number<=11 )
select t.number month,SUM(isnull(b.money,0)) money
from t left join sale b on
t.number=CONVERT(varchar(7),b.sdate,120)
group by t.number
結果截圖:
❸ sql語句分別按日,按周,按月,按季統計金額
表:consume_record
欄位:consume (money類型)
date (datetime類型)
請問怎麼寫四條sql語句分別按日,按周,按月,按季統計消費總量.
如:1月 1200元
2月 3400元
3月 2800元
--按日
selectsum(consume),day([date])fromconsume_recordwhereyear([date])='2006'groupbyday([date])
--按周quarter
selectsum(consume),datename(week,[date])fromconsume_recordwhereyear([date])='2006'groupbydatename(week,[date])
--按月
selectsum(consume),month([date])fromconsume_recordwhereyear([date])='2006'groupbymonth([date])
--按季
selectsum(consume),datename(quarter,[date])fromconsume_recordwhereyear([date])='2006'groupbydatename(quarter,[date])
當然,如果你的oracle報錯:'month'函數報錯,可以試試 to_char(b.PAYMENT_TIME,'yyyy-mm')
檔
❹ SQL 怎麼按時間匯總累計金額
select 日期,sum(金額) 金額 from 表名 group by 日期
❺ SQL把日期按月分類,匯總相關數據
不知道你是什麼資料庫,只能寫個意思,具體的內容要你自己搞定。
其實就是把日期欄位截取一下,如果日期本身沒辦法截取,那就轉換一下。比如如果是oracle那麼可以用to_char轉換為字元型,然後再截取。如果擔心1月和10月截取重復,那就多截取一位,或者查找第二個/字元的位置截取。
截取完成後,在用截取後的日期和客戶分組,金額匯總求和就可以了。
我比較熟悉oracle,我用oracle的寫法嘗試這寫一個,如果不是oracle,那麼你就要自己找找類似的了。(日期也可以直接截取,不過好長時間沒寫忘記怎麼寫了,就寫一個轉換的吧)
select substr(to_char(日期),1,instr(to_char(日期),'/',1,2)-1) 月份,客戶,sum(金額匯總) from table group by substr(to_char(日期),1,instr(to_char(日期),'/',1,2)-1) ,客戶
❻ SQL 如何寫語句 按客戶分類,統計每年的所有金額!麻煩幫忙寫一下,急!在線等
不知道您是哪個資料庫,SQLSERVER可以如此寫
select 客戶名稱,
sum(case left(交易日期,4) when '2010' then 金額 else 0 end) "2010年",
sum(case left(交易日期,4) when '2011' then 金額 else 0 end) "2011年",
sum(case left(交易日期,4) when '2012' then 金額 else 0 end) "2012年",
sum(case left(交易日期,4) when '2013' then 金額 else 0 end) "2013年"
from [table]
group by 客戶名稱
❼ 請問一下,SQL按日期查詢,查詢每一天之前的金額總和
按天累計么?
select 日期, (select sum(金額) from tb where 日期<t.日期) 日累計金額
from tb t
❽ sql 按日期匯總
參考 29、人的一生中有大大小小的等待,人漸漸忘記了自己等待的是什麼。
❾ sql按照時間查詢金額的總和。如2013-8-14,計算出08-01到這一天總的和。時間是變化的,為datetime 類型。
時間是變化的,為datetime 類型。就相當於是有一個變數的東西吧。
declare @d_date datetime
set @d_date = '2013-08-14' --自己可以設置的時間
declare @d_start datetime
set @d_start = convert(varchar(8),@d_date,120) + '01'表 --計算每月第一天
select sum( 總金額) from 表
where 日期 between @d_start and @d_date