多行SQL
① sql 多行多列数据清洗合并为一行
SELECT
A,
GROUP_CONCAT( B SEPARATOR ',' ),
GROUP_CONCAT( C SEPARATOR ',' )
FROM
table_name
GROUP BY
A
1.GROUP_CONCAT()中的值为你要合并的数据的字段名;
2.SEPARATOR 函数是用来分隔这些要合并的数据的 ,' ' 中是你要用哪个符号来分隔,可以直接不填符号默认为空值;
2.必须要用GROUP BY 语句来进行分组管理,不然所有的数据都会被合并成一条记录
参考链接
https://www.cnblogs.com/shoshana-kong/p/11147690.html
② sql怎么同时写多行一样的查询语句
sql怎么同时写多行一样的查询语句
最简捷直观的方法就是利用分组
1
2
3
4
5
6
select ID,
Sum(语文) 语文,
Sum(数学) 数学,
Sum(英语) 英语
from scores
group by ID
你可以直接用下面的语句在SQL Server中测试结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
DECLARE @ScoresVar table(
ID int NOT NULL,
Chinese int,
Math int,
English int);
Insert into @ScoresVar
values(1 ,70, null, null)
Insert into @ScoresVar
values(1 ,null,80, null)
Insert into @ScoresVar
values(1 ,null, null, 90)
Insert into @ScoresVar
values(2 ,75, null, null)
Insert into @ScoresVar
values(2 ,null,85, null)
Insert into @ScoresVar
values(2 ,null, null, 95)
select ID,
SUM(Chinese) Chinese,
Sum(Math) Math,
Sum(English) English
from @ScoresVar
group by ID
还有一种方法,可能更通用一点,利用 FOR XML PATH 和STUFF函数来做,虽然复杂,但是对表的数据类型无限制。
还是上面的测试数据,你可以通过下面的代码来得到你想要的数据:
1
2
3
4
5
6
7
8
9
SELECT ID,
STUFF((SELECT ',' + Cast(A.Chinese as varchar)
FROM @ScoresVar A Where A.ID=B.ID FOR XML PATH('')),1,1,'') As Chinese,
STUFF((SELECT ',' + Cast(A.Math as varchar)
FROM @ScoresVar A Where A.ID=B.ID FOR XML PATH('')),1,1,'') As Math,
STUFF((SELECT ',' + Cast(A.English as varchar)
FROM @ScoresVar A Where A.ID=B.ID FOR XML PATH('')),1,1,'') As English
From @ScoresVar B
Group By ID
1
2
3
4
-- 输出结果
ID Chinese Math English
1 70 80 90
2 75 85 95
③ 在sql2008中注释多行、取消多行注释的快捷点是什么呢
注释多行快捷键: 先CTRL+K+C
取消注释快捷键: 先CTRL+K+U
常用快捷键:
1、CTRL + SHIFT + B:生成解决方案
2、CTRL+F7 :生成编译
3、CTRL+O:打开陆仿文件
4、CTRL+SHIFT+O:打开项目闭老
5、CTRL+SHIFT+C:显示类视图窗口
6、F4:显示属性窗口
7、SHIFT+F4:显示项目属性窗口
8、CTRL+SHIFT+E:显示资源视图
9、F12:转到定义
10、CTRL+F12:转到声明
(3)多行SQL扩展阅读
功能更新:
SQL Server 2008增加了很多新功能包括:新功能包括数据压缩,基于策略的管理和集成全文检索功能。可以对整个数据库、数据文件和日志文件进行加密,而不需要改动应用程序;为了在线添加内存资源而扩展SQL Server中的已有的支持,
热添加CPU使数据库可以按需扩展。事实上,CPU资源可以添加到SQL Server 2008所在的硬件平台上而不需要停早态纤止应用程序。
④ sql注释的多行注释
一、多行注释
与C语言相同的程序注释符号,即“/**/”。“/*”用于注释文字的开头,“*/”用于注释文字的结尾,可在程序中标识多行文字为注释。
二、格式:/*注释内容*/。
例子:
DECLARE @myvariable DATETIME
1、The following statements retrieve the current date and time and extract the day of the week from the results.
2、SELECT @myvariable=GETDATE()。
SELECT DATENAME(dw,@myvariable)。
(4)多行SQL扩展阅读:
一、单行注释
1、ANSI 标准的注释符“--” 用于单行注释,格式:--注释内容。
2、例子:
use pangu-- 使用名为pangu的数据库。
declare@startdate datetime。
set@startdate=‘1/1/2000’。
select‘Start Date:’+convert(varchar(12)@startdate)。
convert()函数用于转换数据类型。
注意这里的注释'--'符号后需要一个空格,注释才生效。
⑤ sql能否批量删除多个行
1、首先我们打开SQL Server 2012资源管理器,在已创建好的数据库表t_call_info,查询和比较表记录。