sql統計查詢

2021-06-06 02:44:22 字數 1887 閱讀 9704

--手機簡訊記錄表

create table smslogs(

id int primary key identity(1,1),--自增id

mobile nvarchar(20) not null,--手機號碼

smscontent nvarchar(255),--簡訊內容

mobilecity nvarchar(20),--手機號歸屬地城市

senddate datetime not null,--短訊息傳送時間

cardnum nvarchar(50),--傳送的卡號

cardnumcity nvarchar(20),--卡號使用的城市

prize int--所中獎項 0:為未中獎;1:一等獎;2:為二等獎. 以此類推

);insert dbo.smslogs values('555555','您好','廣州','2012-04-17 16:51:27.077','4','上海',0)

insert dbo.smslogs values('666666','您好','廣州','2012-04-17 16:51:27.077','5','北京',2)

insert dbo.smslogs values('777777','您好','上海','2012-04-17 16:51:27.077','7','上海',0)

insert dbo.smslogs values('999999','您好','廣州','2012-04-17 16:51:27.077','8','北京',3)

insert dbo.smslogs values('234567','您好','北京','2012-04-17 16:51:27.077','6','廣州',1)

insert dbo.smslogs values('454545','您好','北京','2012-04-17 16:51:27.077','9','廣州',1)

if(exists(select name from tempdb..sysobjects where name like'%temp%' and type='u')) drop table #temp

select cardnumcity 城市,

sum(b.一等獎)+sum(b.二等獎)+ sum(b.三等獎)+sum (b.沒等獎) 參與人數,

sum(b.一等獎) 一等獎,

sum(b.二等獎) 二等獎,

sum(b.三等獎)三等獎

into #temp

from (

select a.cardnumcity,

sum( case a.prize when '0' then 1 when '2' then 0 when '3' then 0  else 0 end) 沒等獎,

sum( case a.prize when '1' then 1 when '2' then 0 when '3' then 0  else 0 end) 一等獎,

sum( case a.prize when '2' then 1 when '1' then 0 when '3' then 0  else 0 end) 二等獎,

sum( case a.prize when '3' then 1 when '2' then 0 when '1' then 0  else 0 end) 三等獎

from

(select cardnumcity,prize from smslogs) a group by a.cardnumcity,a.prize)b group by b.cardnumcity

select * from  #temp

union all

select  城市 = '總計' , 參與人數 = sum(參與人數) , 一等獎 = sum(一等獎) ,二等獎 = sum(二等獎),三等獎 = sum(三等獎) from #temp

投資統計查詢sql

select count from yyd users reginfo where regtime between 2016 07 11 00 00 00 and 2016 07 11 23 59 59 union all select count from yyd users reginfo wh...

SQL 多表連線統計查詢

select y ygzltbl.fz,y ygzltbl.gh,y ygzltbl.xm,y ygzltbl.ye,sum y sktbl.kkje sum y cztbl.je from y ygzltbl left join y sktbl on y ygzltbl.gh y sktbl.gh...

SQL查詢各階段的統計資訊

我們常常會遇到各種分類統計問題,需要將這些結果一次顯示出來。這次老師提出的要求是我想看60分以下多少人,60 70多少人,70 80多少人,80 90多少人,90 100多少人。他們以前做的統計資訊是,相同分數的有多少人,不同的分數都會在chart圖表裡顯示一列,這樣的效果通常是不被需要的,而且資料...