1. sql合并行怎么写
在oracle中,创建一个test表,数据如下所示:a b c d1 2 7 4
1 2 8 4
1 2 9 4
4 3 1 2
6 2 9 7 可以通过如下的匿名块合并行:declare
cursor c_t is
select a,b,c,d
from test;
cursor c_o is
select a,b,d
from test
group by a,b,d;
result varchar2(30 char);
begin
for i in c_o loop
for j in c_t loop
if (i.a=j.a) and (i.b=j.b) and (i.d=j.d) then
result:=result||to_char(j.c);
end if;
end loop;
dbms_output.put_line(i.a||','||i.b||','||result||','||i.d);
result:='';
end loop;
end;输出的结果如下:1,2,789,4
6,2,9,7
4,3,1,2
2. SQL怎么把多条数据合并成一条数据
把多条数据合并成一条数据的代码:
select sum(case when wgrp_id='2' then quota end) w2, sum(case when wgrp_id='3' ;then quota end) w3, mm;
from table;
group by mm。
SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
应用信息:
结构化查询语言SQL(STRUCTURED QUERY LANGUAGE)是最重要的关系数据库操作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。
支持标准:
SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准,1992年11月又公布了SQL92标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。
3. SQL 多行数据合并成一行
group by 前面相同的字段,后面不同的,用max取。
SELECT m.member_id,
prefix_desc 'Prefix:',
UPPER(first_name) 'First Name:',
UPPER(last_name) 'Last Name:',
UPPER(email) 'Email:',
LOWER(user_id) 'User ID:',
REPLICATE('*',LEN(password)) 'Password:',
('****'+SUBSTRING(license_no,5,4)) 'Drivers Licese Number:',
REPLACE(email_ind,'Y','Accept') 'Email notification:',
REPLACE(return_ind,'Y','Accept') 'HERIZ E-RETURN',
max(CASE WHEN tel_type= 'B' THEN tel_number END + ' '+REPLACE(pref_phone_ind,'P','PREF')) 'Business Phone',
max('('+ p.country_code + ')'+ CASE WHEN tel_type= 'M' THEN tel_number END) 'Mobile Number',
max(CASE WHEN tel_type= 'F' THEN tel_number END) 'Fax'
FROM MEMBER m, license l, phone_fax p
WHERE m.member_id = l.member_id
AND m.member_id = p.member_id
AND m.member_id = 'A000001'
group by
m.member_id,
prefix_desc 'Prefix:',
UPPER(first_name) 'First Name:',
UPPER(last_name) 'Last Name:',
UPPER(email) 'Email:',
LOWER(user_id) 'User ID:',
REPLICATE('*',LEN(password)) 'Password:',
('****'+SUBSTRING(license_no,5,4)) 'Drivers Licese Number:',
REPLACE(email_ind,'Y','Accept') 'Email notification:',
REPLACE(return_ind,'Y','Accept') 'HERIZ E-RETURN'
4. SQL多行合并为一行,SQL语句如何写
selectid,max(语文)语文,max(数学)数学,max(英语)英语
fromtab
groupbyid
5. 如何用sql语句将多行合并成一行
select id ,time,sum(2),sum(3),sum(4)... from 表
group by id,time
order time
如果time 不是字符类型分组分的不对可以直接转成字符类型到天再用
6. 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
7. sql查询时如何合并两行数据,具体如下。
看样子像sqlserver,就按sqlserver的写了
创建测试表,数据:
createtabletest
(requestidint,
logidint,
operatedatevarchar(10),
operatetimevarchar(10),
operatorint);
insertintotestvalues(502,1372,'2018-06-13','16:16:03',155);
insertintotestvalues(502,1446,'2018-06-14','09:00:32',153);
insertintotestvalues(502,1472,'2018-06-14','09:33:07',157);
insertintotestvalues(502,1474,'2018-06-14','09:35:11',151);
insertintotestvalues(502,1657,'2018-06-14','15:17:10',153);
insertintotestvalues(502,1660,'2018-06-14','15:18:17',155);
insertintotestvalues(502,1661,'2018-06-14','15:19:01',153);
insertintotestvalues(502,1662,'2018-06-14','15:19:48',157);
insertintotestvalues(502,1677,'2018-06-14','15:31:34',151);
insertintotestvalues(502,1694,'2018-06-14','16:42:51',12);
insertintotestvalues(502,1709,'2018-06-14','18:08:45',9);
insertintotestvalues(502,1730,'2018-06-15','08:09:14',158);
insertintotestvalues(502,1732,'2018-06-15','08:09:16',157);
执行:
withtas
(selecttest.*,row_number()over()rnfromtest)
selectt1.requestid,t1.logid,cast(t1.operatedate+''+t1.operatetimeasdatetime)begintime,cast(t2.operatedate+''+t2.operatetimeasdatetime)endtime,t1..requestid=t2.requestidandt1.rn=t2.rn+1
查询结果:
最后时间没按你那种方式显示,你那种到时候算操作时间也麻烦,还不如改成时间日期类型了。