国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

sql 分組查詢問題

2019-11-20 15:36SQL教程網(wǎng) Sql Server

sql 分組查詢問題,需要的朋友可以參考下。

情景一: 
表中數(shù)據(jù) 
name score 
aaa 11 
aaa 19 
bbb 12 
bbb 18 
ccc 19 
ddd 21 
期望查詢結(jié)果如下 
name score 
aaa 30 
bbb 30 
ccc 19 
ddd 21 

復(fù)制代碼代碼如下:


---檢查表是否存在 
if exists(select * from sysobjects where name='testSum') 
drop table testSum 
go 
---創(chuàng)建表 
create table testSum 

tid int primary key identity(1,1), 
tname varchar(30) null, 
tscor int null 

go 
insert into testSum (tname,tscor) 
select 'aaa',11 
union all 
select 'aaa',19 
union all 
select 'bbb',12 
union all 
select 'bbb',18 
union all 
select 'ccc',19 
union all 
select 'ddd',21 
---查詢語句 
select tname ,sum(tscor) from testSum group by tname 
---只查詢tscor總和為30的 
select tname ,sum(tscor) from testSum group by tname having sum(tscor)=30 


情景二: 
姓名 科目 分數(shù) 
張三 語文 30 
張三 數(shù)學(xué) 50 
張三 英語 70 
李四 語文 50 
李四 數(shù)學(xué) 80 
李四 英語 90 

期望查詢結(jié)果: 

姓名 語文 數(shù)學(xué) 英語 
張三 30 50 70 
李四 50 80 90 

復(fù)制代碼代碼如下:


---檢查表是否存在 
if exists(select * from sysobjects where name='testScore') 
drop table testScore 
go 
---創(chuàng)建表 
create table testScore 

tid int primary key identity(1,1), 
tname varchar(30) null, 
ttype varchar(10) null, 
tscor int null 

go 
---插入數(shù)據(jù) 
insert into testScore values ('張三','語文',90) 
insert into testScore values ('張三','數(shù)學(xué)',20) 
insert into testScore values ('張三','英語',50) 
insert into testScore values ('李四','語文',30) 
insert into testScore values ('李四','數(shù)學(xué)',47) 
insert into testScore values ('李四','英語',78) 
---查詢 
select tname as '姓名' , 
max(case ttype when '語文' then tscor else 0 end) '語文', 
max(case ttype when '數(shù)學(xué)' then tscor else 0 end) '數(shù)學(xué)', 
max(case ttype when '英語' then tscor else 0 end) '英語' 
from testScore 
group by tname 


情景三: 
表:table1 
字段:id , name 
內(nèi)容: 
---------------- 
1,aaa 
1,bbb 
2,ccc 
2,ddd 
3,eee 
3,fff 
-------------- 
希望結(jié)果: 
--------------------- 
1 aaa bbb [aaa bbb之間半角空格區(qū)分,以下類似] 
2 ccc ddd 
3 eee fff 

復(fù)制代碼代碼如下:


f exists(select * from sysobjects where name='test1') 
drop table test1 
go 
create table test1 

tid int primary key identity(1,1), 
tnum int null, 
tname varchar(30) null 

go 
insert into test1 values (1,'aa') 
insert into test1 values (1,'bb') 
insert into test1 values (2,'cc') 
insert into test1 values (2,'dd') 
insert into test1 values (3,'ee') 
insert into test1 values (3,'ff') 
SELECT * FROM ( SELECT DISTINCT tnum FROM test1 
)A 
OUTER APPLY( 
SELECT tname= STUFF(REPLACE(REPLACE( 

SELECT tname FROM test1 N 
WHERE tnum = A.tnum 
FOR XML AUTO 
), '<N tname="', ' '), '"/>', ''), 1, 1, '') 
)N 


情景四: 
我需要將表tb中的數(shù)據(jù)select出來,得到下面第二個表的數(shù)據(jù),如何寫select語句? 
表tb 
id a flag class 
----------+---------+--------+--------- 
1 2 1 A 
2 2 1 A 
3 4 1 A 
4 5 2 A 
5 3 2 A 
6 4 1 A 
7 2 1 A 
8 3 2 A 
9 4 2 A 
10 5 3 A 
11 5 1 B 
12 2 1 B 
13 3 1 B 
14 4 1 B 
15 2 3 B 
16 7 3 B 
17 3 2 B 
18 4 1 B 
19 5 1 B 
20 2 2 B 
21 1 1 B 
22 1 1 C 
23 2 3 C 
24 6 3 C 
25 3 2 C 
... 
需要選取出如下的表,按class列進行分組,a1,a2,a3字段分別為flag=1、2、3時tb表中a字段的求和 
選取后 
a1 a2 a3 class 
-----------+------------+-----------------+-------------- 
sum(a) sum(a) sum(a) A 
sum(a) sum(a) sum(a) B 
sum(a) sum(a) sum(a) C 
sum(a) sum(a) sum(a) D 
sum(a) sum(a) sum(a) E 
sum(a) sum(a) sum(a) F 
sum(a) sum(a) sum(a) G 

復(fù)制代碼代碼如下:


---檢查表是否存在 
if exists(select * from sysobjects where name='testFlag') 
drop table testFlag 
go 
---創(chuàng)建表 
create table testFlag 

tid int primary key identity(1,1), 
tname varchar(30) null, 
tflag int null, 
tscor int null 

go 
---插入數(shù)據(jù) 
insert into testFlag (tname,tflag,tscor) 
select 'aaa',1,11 
union all 
select 'aaa',2,19 
union all 
select 'aaa',3,12 
union all 
select 'aaa',1,18 
union all 
select 'aaa',2,19 
union all 
select 'aaa',3,21 
union all 
select 'bbb',1,11 
union all 
select 'bbb',2,19 
union all 
select 'bbb',3,12 
union all 
select 'bbb',1,18 
union all 
select 'bbb',2,19 
union all 
select 'bbb',3,21 
----查詢語句 
select distinct tname,(select sum(tscor) from testFlag where tflag=1 and testFlag.tname = t.tname) as 'flag1',(select sum(tscor) from testFlag where tflag=2 and testFlag.tname = t.tname) as 'flag2',(select sum(tscor) from testFlag where tflag=3 and testFlag.tname = t.tname) as 'flag3' from testFlag t group by tname,tflag 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品中文字幕在线观看 | 亚洲青青草 | 互换娇妻呻吟hd中文字幕 | 欧美日韩亚洲视频 | 色片在线观看 | 色综合成人 | 久久91av| 成人av播放 | 亚洲国产精品99久久久久久久久 | 国产精品久久久久久久久久ktv | 成人午夜网 | 成人免费xxxxx在线视频软件 | 精精国产xxxx视频在线播放7 | 欧美亚洲视频在线观看 | 精品欧美一区二区三区久久久 | 成人午夜电影网 | 日本午夜精品 | 中文字幕精品视频 | 欧美成人综合在线 | 999久久久国产999久久久 | 亚洲欧美激情精品一区二区 | 99久久久久 | 91亚洲国产成人久久精品网站 | 国产高清久久久 | 国产精品久久久久久久久久久久久久 | 精品国产一区二区三区日日嗨 | 亚洲精品专区 | 久久久久久久久久久久久久免费看 | 日韩一区二区三区四区 | 国产伦精品一区二区三区四区视频 | 精品少妇一区二区三区在线播放 | 国产免费av在线 | 不卡视频在线 | 日韩在线看片 | 在线视频中文字幕 | 日韩在线观看一区 | av在线黄 | 国产一区二区三区视频 | 久久精品视频网站 | 亚洲自拍偷拍在线 | 久久精选 |