你能给予我一个请求的例子,说明我如何合并两个重复的行合并一个?| ID|名称|没有|| --|--|--|| 123 |AAA|一、二、三|| 124 |AAA|四五六|| 125 |AAA|七八九|我要这个| ID|名称|没有|| --|--|--|| 123 |AAA|一二三四五六七八九|我研究了我是否可以用concat更新,但我不能得到任何结果。
qhhrdooz1#
首先更新:
UPDATE mytable JOIN ( SELECT MIN(id) AS id, GROUP_CONCAT(no) AS no FROM mytable GROUP BY name ) agg ON mytable.id = agg.id SET mytable.no = agg.no;
字符串然后删除:
DELETE m1 FROM mytable m1 JOIN mytable m2 ON m1.name = m2.name AND m1.id > m2.id;
型这里有一个db<>fiddle。
kkbh8khc2#
您可以在GROUP_CONCAT中使用ORDER BY:
GROUP_CONCAT
ORDER BY
select min(id) as id, name, group_concat(no ORDER BY id ASC) as no from mytable group by name
字符串Demo here
2条答案
按热度按时间qhhrdooz1#
首先更新:
字符串
然后删除:
型
这里有一个db<>fiddle。
kkbh8khc2#
您可以在
GROUP_CONCAT
中使用ORDER BY
:字符串
Demo here