⑴ sql中如何按照条件合并多行的数据
写一个函数,运行sql调用函数,不知道你数据库字段名只是设前两个字段为id1,id2,这是我的思路 在我的数据库测试过好用
create function pmerg(@id1 int ,@id2 int)
returns varchar(8000)
as
begin
declare @s varchar(8000)
set @s=''
select @s=@s+';'+name from y where id1=@id1 and id2=@id2
set @s=right(@s,len(@s)-1)
return(@s)
End
上面是建立的函数,下面是要运行的sql
select distinct id1, id2, dbo.pmerg(id1,id2) from y
⑵ 怎么用SQL语句将一张表中ID相同的行的内容合并在一起
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
⑶ 【求助高人】sql根据条件合并行
SELECTO.ItemsID,sum(O.Num)Num,P.Price,O.Ver
FROMWIS_D_OutputItemsASO
,WIS_B_PriceDetailASP
WHEREO.ItemsID=P.ItemsID
ANDO.Ver=P.Ver
groupbyO.ItemsID,P.Price,O.Ver
看看是这意思不
⑷ sql 合并某相同字段的行数据 怎么写查询语句
以 sql server2005以上版本用xml合并
use Tempdb
go
--> -->
if not object_id(N'Tempdb..#') is null
drop table #
Go
Create table #([id] int,[name] nvarchar(1))
Insert #
select 1,N'a' union all
select 1,N'b' union all
select 2,N'c' union all
select 2,N'd' union all
select 2,N'e'
Go
Select ID,STUFF((SELECT ' '+Name FROM # WHERE ID=a.ID FOR XML PATH('')) ,1,1,'') AS Name
from # AS a
GROUP BY ID
/*
ID Name
1 a b
2 c d e
*/
oracle方法:
http://blog.csdn.net/roy_88/article/details/6930577
⑸ sql语句求指定几行的总和
SELECTSUM(saleMoney)FROM(SELECTsaleMoneyFROMoe_voteLIMIT28,48)t
⑹ 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
查询结果:
最后时间没按你那种方式显示,你那种到时候算操作时间也麻烦,还不如改成时间日期类型了。
⑺ sql语句能否实现两行数据合并
select店名,
sum(1月)as1月,
sum(2月)as2月,
sum(3月)as3月,
sum(4月)as4月,
sum(5月)as5月
from(select*fromtable1unionallselect*fromtable2)a
groupby店名
有问题追问
⑻ SQL合并行,高手请近!!
select
bm,sum(time)
from
table
group
by
bm
其他列要怎么显示,你的行数已经少了
⑼ SQl按照条件多行合并问题
create
table
##b
as
(select
ID1,ID2,ID3,sum(Number)
from
表
group
by
ID1,ID2,ID3)
//把记录合并后放到临时表##b
Delete
from
表
//删除表原记录
create
table
表
as
(select
ID1,ID2,ID3,Number
from
##b)
//把合并后的记录写回表
回楼主:
删除重复记录只保留一条:
Delete
表
Where
ID
Not
In
(Select
Max(ID)
From
表
Group
By
name)
只查询不重复记录,不做删除:
SELECT
distinct(name)
as
name
From
表
⑽ SQL多行合并为一行,SQL语句如何写
selectid,max(语文)语文,max(数学)数学,max(英语)英语
fromtab
groupbyid