sql带条件多条数据合并为一条数据并换行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql带条件多条数据合并为一条数据并换行相关的知识,希望对你有一定的参考价值。

如:数据字段
id content
1 h1
2 h2
3 h3
4 2
5 3
6 4
7 h4
8 h3
9 a
10 b
11 c
求sql语句,如何将不带h开头的行合并到上一个带h开头的行内并换行,结果如下:
1 h1
2 h2
3 h3
2
3
4
7 h7
8 h8
a
b
c
12 h10

也就是说逢h字母时合并下面没有带h的记录,并删除不带h的行,直到遇到h时停止合并记录,再次出现相同情况继续执行合并。以此类推.......,结果如下
第1条:1 h1
第2条:2 h2
第3条: 3 h3 2 3 4,且合并为一行后保留换行(4条数据合并为1条数据,且h3 2 3 4之间有换行)
第4条:h4
第5条变为: 8 h8 a b c,且合并为一行后保留换行(4条数据合并为1条数据,且h3 2 3 4之
间有换行)
第6条:12 h6

修正现在的表添加一个唯一的标识
先按条件分组,统计两个关键的内容
数量:大于1的时需要删除的
max或min的标识: 用于删除得行标识
delete from 表where id in(
slect id ,count(*) ,max(id) from 表 groupby id
having count(*)>1
)
如果有大于2的重复记录,需要在写循环删除
参考技术A 用sql 语句
好像是:
EXECUTE sp_rename 'dbo.IPList.DownIP', 'Tmp_DownIP45_1', 'COLUMN'
修改字段名

以上是关于sql带条件多条数据合并为一条数据并换行的主要内容,如果未能解决你的问题,请参考以下文章

SQL 如何将一个表中的两条或多条拥有相同ID的记录合并为一条?

带条件的 Oracle SQL 合并语句

SQL 查询多条符合条件的记录

SQL数据库查询中满足任何一个条件,使用OR还是多条语句效率高?

怎样一个表中的2个查询结果合并到一个表中的两列

如何使用行号将多条记录合并为一条?