SQL查詢如何一次查詢得出月中每個月的銷售額

2022-03-08 12:54:52 字數 5337 閱讀 2868

1樓:匿名使用者

select convert(varchar(7), 日期, 120) as 年月, sum(銷售額) from 表 group by convert(varchar(7), 日期, 120) order by 年月 asc 銷售額是表中的列,日期是表中銷售日期 額,,sqlite 倒是不清楚語法,不過你可以根據這個思想去改寫,就先把時間變成比如2008-05(年-月格式)這樣,然後先分組,最後統計每個組相應列總和就是需要的結果。 select strftime("%y-%m", 日期) , strftime("%w", 日期) , sum(銷售額) from 表 where [你某個客戶的查詢條件] group by strftime("%y-%m", 日期), strftime("%w", 日期)不只知道有沒語法錯誤,先按年月分組,然後%w是獲得這個日期是今年第幾周,這樣相同周的就會全部分一組了。

2樓:匿名使用者

摺疊分組法,這裡打不出來,老說驗證不了要修改,答案直接發你郵箱裡。

如何用sql的日期函式,分別查出1月~12月每個月的銷售金額?

3樓:匿名使用者

一般情況下資料是按日期存到資料庫中的,但考慮到某些月份是無資料的,可用如下語句:

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

結果截圖:

4樓:

/*分別查出1月~12月每個月的銷售金額

*/--12個月總是固定的

declare @sale table(ddate datetime,fsale decimal(18,2))

insert into @sale(ddate,fsale)

select '2010-10-11',10000.01 union all

select '2010-10-12',20000.02 union all

select '2010-09-01',55555.11 union all

select '2010-08-21',33333.33 union all

select '2009-12-11',77777.11

select sum(case when month(s.ddate) = 1 then s.fsale else 0 end) as '一月',

sum(case when month(s.ddate) = 2 then s.fsale else 0 end) as '二月',

sum(case when month(s.ddate) = 3 then s.fsale else 0 end) as '三月',

sum(case when month(s.ddate) = 4 then s.fsale else 0 end) as '四月',

sum(case when month(s.ddate) = 5 then s.fsale else 0 end) as '五月',

sum(case when month(s.ddate) = 6 then s.fsale else 0 end) as '六月',

sum(case when month(s.ddate) = 7 then s.fsale else 0 end) as '七月',

sum(case when month(s.ddate) = 8 then s.fsale else 0 end) as '八月',

sum(case when month(s.ddate) = 9 then s.fsale else 0 end) as '九月',

sum(case when month(s.ddate) = 10 then s.fsale else 0 end) as '十月',

sum(case when month(s.ddate) = 11 then s.fsale else 0 end) as '十一月',

sum(case when month(s.ddate) = 12 then s.fsale else 0 end) as '十二月'

from @sale as s

where year(s.ddate) = 2010

sql 怎麼查詢每一年1到12個月的資料

5樓:教育仁昌

工具/材料:management studio。

1、首先在桌面上,點選「management studio」圖示。

2、然後在該介面中,點選左上角「新建查詢」按鈕。

3、之後在該介面中,輸入查詢每一年1到12個月的資料的sql語句「select year(time),month(time),sum(money) from test1 group by year(time),month(time) 」。

4、然後在該介面中,點選上方左側的「執行」按鈕。

5、最後在該介面中,顯示每一年1到12個月的資料。

6樓:

select year(datetime),month(datetime),sum(data)

from table

group by year(datetime),month(datetime)

僅僅顯示月份應該是不夠的,如果有資料已經跨年的話。不過如果不需要按年份彙總,可以直接把year(datetime)這個刪掉

7樓:匿名使用者

如果要用遊標的話,就比較簡單,遍歷每一行,但是對大量操作伺服器又負擔

8樓:雨夜ぜ狂想

如果表有兩個欄位 datetime,numselect year(datetime) as [年份],month(datetime)as [月份 ], num as [數目] from table

如果查月份的彙總資料

select year(datetime) as [年份],month(datetime)as [月份 ], sum( num) as [數目] from table

group by year(datetime) ,month(datetime)

9樓:旋風舞

如過你的結果要是

一月 二月 三月 ....

資料 資料 資料 ....

select 欄位 『一月』

from 表

where

year(datetime)=''

and mon(datetime)='01'

union all

select 欄位 『二月』

from 表

where

year(datetime)=''

and mon(datetime)='02'

union all...

10樓:冰刀的故事

select a, b , c ,to_char(time,'yyyy') ,to_char(time,'mm') ,sum () from t1

group by to_char(time,'yyyy') ,to_char(time,'mm')

11樓:源清禕

我查1至6月的計步數字

用sql如何查詢一年的十二個月份,形成報表?

12樓:

select year(日期欄位) 年度,sum(case when month(日期欄位) =1 then 統計的欄位 else 0 end) 一月,

sum(case when month(日期欄位) =2 then 統計的欄位 else 0 end) 二月,

sum(case when month(日期欄位) =3 then 統計的欄位 else 0 end) 三月,

sum(case when month(日期欄位) =4 then 統計的欄位 else 0 end) 四月,

sum(case when month(日期欄位) =5 then 統計的欄位 else 0 end) 五月,

sum(case when month(日期欄位) =6 then 統計的欄位 else 0 end) 六月,

sum(case when month(日期欄位) =7 then 統計的欄位 else 0 end) 七月,

sum(case when month(日期欄位) =8 then 統計的欄位 else 0 end) 八月,

sum(case when month(日期欄位) =9 then 統計的欄位 else 0 end) 九月,

sum(case when month(日期欄位) =10 then 統計的欄位 else 0 end) 十月,

sum(case when month(日期欄位) =11 then 統計的欄位 else 0 end) 十一月,

sum(case when month(日期欄位) =12 then 統計的欄位 else 0 end) 十二月,

from 表

group by year(日期欄位)

2019屆的高三第一次月考成績查詢

一般的月考成績查詢都是採取班級群直接釋出的形式公佈,這樣公開公佈成內績會傷害成容 績低的同學自尊心,另外還存在暴露學生隱私的情況,很多老師因為公開公佈成績而遭到家長投訴的情況不在少數 但是如果一個一個通知,耗費的工作量巨大,所以如何公佈成績自然成老師們要考慮的問題,其實老師們可以在易查分生成一個成績...

如何用sql查詢字串的一部分,如何用sql查詢一個字串的一部分

select substr 2009 2 5 1,6 from table name substr a,m,n 函式,是將欄位a從第m個字元擷取n個字元。substring 2009 2 5 1,6 substring length 返回從字串左邊第starting position 個字元起len...

c語言,輸入字串,查詢只出現一次的字元,求高手幫忙寫,謝謝謝謝謝

include stdio.h include string.h include stdlib.h char firstnotrepeatingchar char pstring 如果這個字串為空,或者字串中的每個字元都至少出現兩次return 0 int main void include usi...