gpt4 book ai didi

mysql - 是否可以在 MySQL 中对行进行两次分组?

转载 作者:可可西里 更新时间:2023-11-01 07:24:13 25 4
gpt4 key购买 nike

我有一个这样的表:

someid    somestring
1 Hello
1 World
1 Blah
2 World
2 TestA
2 TestB
...

目前我按 id 分组并连接字符串,所以我最终得到这个:

1         Hello,World,Blah
2 World,TestA,TestB
...

是否可以进行第二次分组,以便如果有多个条目以相同的字符串结尾,我也可以将它们分组?

最佳答案

是的,只需将您当前的查询放在内部选择中,然后将新的 GROUP BY 应用于外部选择。请注意,您可能希望使用 GROUP_CONCAT 的 ORDER BY 来确保字符串始终以相同顺序连接。

SELECT somelist, COUNT(*) FROM
(
SELECT
someid,
GROUP_CONCAT(somestring ORDER BY somestring) AS somelist
FROM table1
GROUP BY someid
) AS T1
GROUP BY somelist

结果:

'Blah,Hello,World', 1
'TestA,TestB,World', 2

这是我使用的测试数据:

CREATE TABLE table1 (someid INT NOT NULL, somestring NVARCHAR(100) NOT NULL);
INSERT INTO table1 (someid, somestring) VALUES
(1, 'Hello'),
(1, 'World'),
(1, 'Blah'),
(2, 'World'),
(2, 'TestA'),
(2, 'TestB'),
(3, 'World'),
(3, 'TestB'),
(3, 'TestA');

关于mysql - 是否可以在 MySQL 中对行进行两次分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2542064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com