create table guest_info
(guestid
intprimary key,
guestname varchar(
50),
birthday datetime
)create table or_info
(order_id
intidentity(1,
1) primary key,
guestid
intforeign key references guest_info(guestid),
isyes
int--
0:notok
1:ok
2:cancel
3:renege
)select c.age,
totalcount
=count(*),
notokcount
=sum(
case
c.isyes when
0then
1else
0end) ,
cancelcount
=sum(
case
c.isyes when
2then
1else
0end) ,
renegecount
=sum(
case
c.isyes when
3then
1else
0end) ,
okcount
=sum(
case
c.isyes when
1then
1else
0end)
from
(select
age
=case
when datediff(yy,cast(a.birthday
asdatetime),getdate())
>
50then
'50以上
'when datediff(yy,cast(a.birthday
asdatetime),getdate()) between
41and
50then
'41-50
'when datediff(yy,cast(a.birthday
asdatetime),getdate()) between
31and
40then
'31-40
'when datediff(yy,cast(a.birthday
asdatetime),getdate()) between
20and
30then
'20-30
'else
'20以下
'end,b.*
from
guest_info a inner join
or_info b
ona.guestid
=b.guestid) c
group by c.age
SQL SERVER 按天,按月,按周分組查詢
引用筆記 可用於按天分組查詢 select day createtime from life unite product 取時間欄位的天值 select month createtime from life unite product 取時間欄位的月值 select year createtime ...
分組求和SQL示例
1 rollup和cube函式,自動彙總資料 select from test tbl的資料這樣的 col a col b col c 1 b1 12 1 b1 2 1 b2 31 2 b2 7 2 b3 42 2 b3 1 2 b3 3 如果按a b列進行彙總c列,用一般的方法是這樣 select...
Qt 查詢SqlServer資料庫成功示例
1.工程及標頭檔案,文件說明就是了 2.按照網上很多示例,發現都不對,主要是沒說清楚,註釋也不明白,後來終於在一個部落格上看到一個能成功應用的,如下 qsqldatabase db qsqldatabase adddatabase qodbc 建立一個連線,表示預設 db.setdatabasena...
sql server如何分組編號
我們在生產實踐中經常會有這樣的需求 分組編號。如下有一個城市區域表region 我們需要對上表region按city分組,對region進行排序,得到如下結果 具體sql如下 1 select city,region,2right 100 row number over partition by c...
sqlserver按照一列進行分組查詢方法
效果和group by一樣,比group by要方便,相當對group by中同型別的值中新增一個行號 partition by q q表示要進行分組查詢的欄位 order by datatime datatime表示進行排序的欄位 ccc表示別名 s.ccc 1表示取分組的第一個 s是表的別名 s...