gpt4 book ai didi

Mysql group_concat 按计数拆分

转载 作者:行者123 更新时间:2023-11-28 23:16:14 25 4
gpt4 key购买 nike

是否可以在 mysql 中执行 group_concat 并有某种组限制?从而允许将组拆分为多个结果行?

例如

如果我有一个名为 num 的表:

    val
---
1
2
3
4
5
...

我使用语句select group_concat(val) from num

我得到了结果

1,2,3,4,5,...

我想做的是将组限制设置为 2 并得到结果

1,2
3,4
5,...

现在我的用例是数十万个值,我想将它们选为大约 500 个的整齐的组。

这可能吗?

最佳答案

您可以使用用户变量创建行号,然后通过将行号除以组大小进行分组。

SELECT GROUP_CONCAT(val) AS vals
FROM (SELECT val, @rownum := @rownum + 1 AS rownum
FROM (SELECT val FROM nums ORDER BY val) AS vals
CROSS JOIN (SELECT @rownum := -1) AS vars) AS temp
GROUP BY FLOOR(rownum/500)

关于Mysql group_concat 按计数拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43771665/

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