情景一: 表中数据
name score
aaa 11
aaa 19
bbb 12
bbb 18
ccc 19
ddd 21
期望查询结果如下
name score
aaa 30
bbb 30
ccc 19
ddd 21
复制代码 代码如下:
---检查表是否存在
if exists(select * from sysobjects where name='testSum')
drop table testSum
go
---创建表
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
情景二: 姓名 科目 分数
张三 语文 30
张三 数学 50
张三 英语 70
李四 语文 50
李四 数学 80
李四 英语 90
期望查询结果:
姓名 语文 数学 英语
张三 30 50 70
李四 50 80 90
复制代码 代码如下:
---检查表是否存在
if exists(select * from sysobjects where name='testScore')
drop table testScore
go
---创建表
create table testScore
(
tid int primary key identity(1,1),
tname varchar(30) null,
ttype varchar(10) null,
tscor int null
)
go
---插入数据
insert into testScore values ('张三','语文',90)
insert into testScore values ('张三','数学',20)
insert into testScore values ('张三','英语',50)
insert into testScore values ('李四','语文',30)
insert into testScore values ('李四','数学',47)
insert into testScore values ('李四','英语',78)
---查询
select tname as '姓名' ,
max(case ttype when '语文' then tscor else 0 end) '语文',
max(case ttype when '数学' then tscor else 0 end) '数学',
max(case ttype when '英语' then tscor else 0 end) '英语'
from testScore
group by tname
情景三:
表:table1
字段:id , name
内容:
----------------
1,aaa
1,bbb
2,ccc
2,ddd
3,eee
3,fff
--------------
希望结果:
---------------------
1 aaa bbb [aaa bbb之间半角空格区分,以下类似]
2 ccc ddd
3 eee fff
复制代码 代码如下:
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中的数据select出来,得到下面第二个表的数据,如何写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
复制代码 代码如下:
---检查表是否存在
if exists(select * from sysobjects where name='testFlag')
drop table testFlag
go
---创建表
create table testFlag
(
tid int primary key identity(1,1),
tname varchar(30) null,
tflag int null,
tscor int null
)
go
---插入数据
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
相关推荐:
什么是seo推广找行者SEO,seo推广效果怎么样 ,西宁ai万词霸屏系统
代哥SEO-让您的网站迅速登顶搜索引擎的秘密武器,济南关键词的排名优化
ChatGPT的破解版:AI世界的新突破,ai无禁忌
SEO用户:如何为您的网站带来持续流量和转化,惠州网站推广哪个好
ChatGPT:打破语言障碍,理解与沟通的新时代,交通轨道ai
SEO手法如何通过精准优化提升网站排名,获取海量流量,网站建设协议流程是什么
文章AI思维导图自动生成助力创作的智慧之源
ChatGPT打不开实时问题解决方案:让你的AI助手始终在线,psd 转ai
AI免费生成文章让创作变得轻松自如
自动写文章AI:高效创作工具,开启写作新纪元
常用AI工具,高效智能生活
seo要懂些什么,seo主要做什么的 ,小艾艾AI
ChatGPT怎么突然不能打开了?你需要了解的原因与解决办法,ai写作有什么问题吗怎么解决
如何通过AI写文章,轻松提高写作效率与质量
SEO考核:如何通过精准的SEO优化提升网站排名与流量,茶艺营销推广方案怎么写
AI网页版智能问答,开启智慧沟通新时代,ai梦境档案用不了手柄
SEO包月服务:助力企业提升网站排名与流量的长期利器,网站建设流程 报读文库
为什么行业都要做seo,为什么要做seo ,ai明信片
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置
SEO外包:提升网站排名与品牌曝光的最佳选择,大创建设网站
SEO重要性与企业互联网发展的必由之路,互联网营销推广平台设计
ChatGPT免费版的限制:你需要了解的5大制约因素,Ai分解模型
AI智能时代的到来:如何利用人工智能推动生活与商业创新,ai相册下载
GPT-3.5网页版:让你与人工智能零距离接触,ai英语学
SEO师:如何在数字时代为企业赢得流量与销量,十堰网站关键词优化教程
AI免费写文章生成器高效写作新革命
为什么seo对企业重要,seo对企业进行网络营销的价值 ,ai李沁换脸鲍鱼
seo站长什么意思,站长工具 - seo综合查询 ,ai少女身材
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,南京网站运营优化平台
AI撰写工具的无限可能,让内容创作更高效、更精彩!
ChatGPT+维护页面:您的智能助手之旅,安全、高效、无忧,奥特曼画图ai
ChatGPT点不了?背后的真相与解决方法,ai.520523
SEO职责:为网站注入流量,提升品牌竞争力,拼多多女装关键词排名
SEO注意事项:助力网站流量提升的关键策略,济宁快速seo优化价格
seo适用于什么领域,seo适用于什么领域中 ,ai智能翻译写作机器人v1.0
【SEO优化全攻略】提升网站流量的终极秘籍,带你轻松玩转搜索引擎优化!,金融网站推广维护
丹东抖音seo是什么,抖音seo引流 ,ai工具编写作业指导书
重生成AI:突破科技前沿,开启智能未来
SEO出来,打破流量瓶颈,助力企业增长的关键策略,南昌营销推广代理商电话
为什么seo这么麻烦,seo是什么意思 为什么要做seo ,dota1ai地图命令选ai
SEO部:开启数字化营销新纪元的幕后英雄,株洲营销推广是什么公司
怎么用AI写文章:高效创作的秘诀
什么是SEO金融,seo是做什么的 ,ai中转程序
SEO提高:如何通过精准优化让网站流量翻倍,优化排名seo加盟费用
SEO总结:如何通过优化提升网站排名与流量,关键词排名消失
SEO汇报:如何通过数据分析提升网站排名,助力企业业绩增长,免费推广网站大全百度经验
SEO自己:打造属于你的数字营销利器,微信裂变营销推广软件
优化工具:提升工作效率的秘密武器,网站模板的优化策略是什么
AI批量文章工具,让写作变得高效与轻松,cs机器人ai
AI人物生成:重新定义虚拟形象创作的未来