❶ sql 語句怎麼寫根據選擇的年份統計出該年下每個月的訂單總數
這是一些統計每天、每月、每年的銷售總額的查詢語句,給你參考:
1、每年
select year(ordertime) 年,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime)
2、每月
select year(ordertime) 年,
month(ordertime) 月,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime),
month(ordertime
3、每日
select year(ordertime) 年,
month(ordertime) 月,
day(ordertime) 日,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime),
month(ordertime),
day(ordertime)
另外每日也可以這樣:
select convert(char(8),ordertime,112) dt,
sum(Total) 銷售合計
from 訂單表
group by convert(char(8),ordertime,112)
如果需要增加查詢條件,在from後加where 即可。
❷ 怎樣用SQL語句表示每個月統計並輸出2006年每個月份的圖書借出的冊數
1. 求總藏書量、藏書總金額,總庫存冊數、最高價、最低價。
select count(圖書編號) as 總藏書量,
sum(定價) as 藏書總金額,
sum(實際數量) as 總庫存冊數,
max(定價) as 最高價,
min(定價) as 最低價
from 圖書卡片
go
2. 列出藏書在10本以上的書(書名、作者、出版社、年份)。
select 圖書名稱,作者姓名,出版社,出版日期
from 圖書卡片
group by 圖書編號 having(coung(1)>10)
order by 圖書名稱
go
3. 哪些出版社的藏書種類數超過100種。
select 出版社 as '藏書種類數超過100種的出版社'
from 圖書卡片
group by 出版社 having(count(類別)>100)
order by 出版社
go
4. 目前實際已借出多少冊書?
select sum(借出數量) as '借出數量'
from 圖書卡片
go
5. 年份最久遠的書。
select top 1 with ties 圖書名稱 from 圖書卡片
order by 出版日期
go
6. 「資料庫系統原理教程,王珊編,清華大學出版社,1998年出版」還有幾本?
select count(1) from 圖書卡片
where concaints(摘要,'"資料庫系統原理教程,王珊編,清華大學出版社,1998年出版"')
go
7. 哪一年的圖書最多?
select top 1 with ties convert(substring(出版日期,1,4)) as 年份,count(1) as '圖書數量'
from 圖書卡片
group by 出版日期
order by 圖書數量 desc
go
8. 哪本借書證未歸還的圖書最多?
select top 1 with ties A.讀者編號,count(1) as '借書數量'
from 圖書卡片 A,借閱 B
where A.圖書編號=B.圖書編號
group by A.讀者編號
order by 借書數量 desc
go
9、平均每本借書證的借書冊數。
select avg(借閱數量) as '平均每本借書證的借書冊數'
from 借閱
go
10.哪個系的同學平均借書冊數最多?
select top 1 with ties A.工作單位,avg(借閱數量) as '平均借閱數量'
from 讀者 A,借閱 B
where A.讀者編號=B.讀者編號
group by A.工作單位
order by 平均借閱數量' desc
go
11. 最近兩年都未被借過的書。
select 圖書名稱
from 圖書卡片
where 圖書編號 in(select 圖書編號 from 借閱 where datediff(year,借閱日期,getdate())>2)
go
12. 列出那些借了圖書逾期未歸還的借書證號和圖書名。
select A.讀者編號 as '借書證號',B.圖書名稱
from 讀者 as A inner join 圖書卡片 as B on A.圖書編號=B.圖書編號
where A.應歸還日期<getdate() and A.實際歸還日期 is null
go
13.今年未借過書的借書證。
select 讀者編號
from 讀者
where 讀者編號 not in(select 讀者編號
from 讀者
where datediff(year,借閱日期,getdate())=0)
go
14. 今年那種書出借最多?
select top 1 with ties A.類別,count(1) as '借出數量'
from 圖書卡片 A,借閱 B
where datediff(year,B.借閱日期,getdate())=0
group by A.類別
order by 借出數量' desc
go
❸ SQL語句統計每天、每月、每年的銷售總額
1、每年
select
year(ordertime)
年,
sum(Total)
銷售合計
from
訂單表
group
by
year(ordertime)
2、每月
select
year(ordertime)
年,
month(ordertime)
月,
sum(Total)
銷售合計
from
訂單表
group
by
year(ordertime),
month(ordertime
3、每日
select
year(ordertime)
年,
month(ordertime)
月,
day(ordertime)
日,
sum(Total)
銷售合計
from
訂單表
group
by
year(ordertime),
month(ordertime),
day(ordertime)
另外每日也可以這樣:
select
convert(char(8),ordertime,112)
dt,
sum(Total)
銷售合計
from
訂單表
group
by
convert(char(8),ordertime,112)
如果需要增加查詢條件,在from後加where
即可。
❹ sql 分類按月統計
方法一:這種方法列名是固定的。
select 名稱,
sum(case when substring(convert(varchar(7),日期,120),6,2)='09' then 出售數量 else 0 end) as '9月',
sum(case when substring(convert(varchar(7),日期,120),6,2)='10' then 出售數量 else 0 end) as '10月'
from 表
group by 名稱
方法二:這種方法雖然麻煩一些,但是支持列名不確定的情況。
declare @sql varchar(2000)
declare @mon varchar(2)
set @sql = 'select 名稱'
select @sql = @sql + ',sum(case mon when '''+mon+''' then 出售數量 end) ['+mon+'月]'
from (select distinct substring(convert(varchar(7),日期,120),6,2) mon from 表) as a
select @sql = @sql+' from 表 group by 名稱'
exec(@sql)
❺ sql語句怎麼計算一個月
先把年月取出來,分下組,求下每月的總數,然後對年月總數用where過濾一下就行了。
select year, month, Count
from (select to_char(to_date(t.ymd), 'yyyy') as year,
to_char(to_date(t.ymd), 'mm') as month,
count(*) as Count
from tablename t
group by to_char(to_date(t.ymd), 'yyyy'),
to_char(to_date(t.ymd), 'mm')
order by year, month)
where (month in (1, 3, 5, 7, 8, 10, 12) and count = 31)
or (month in (4, 6, 9, 11) and count = 30)
or (month = 2 and mod(year, 4) = 0 and count = 29)
or (month = 2 and mod(year, 4) <> 0 and count = 28)