gpt4 book ai didi

mysql - 将多行连接到一个单元格中的 SQL 命令?

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:20 25 4
gpt4 key购买 nike

我有一个用户组分配表,例如:

ID----UserName------Group
01 johnsmith admin
02 sarahwilles admin
03 johnsmith testuser

我想将其显示为:

UserName-------Groups
johnsmith admin, testuser
sarahwilles admin

这可以通过 SQL 实现吗?

最佳答案

这不是标准 SQL 的一部分,因为它非常开放,很难以提供可预测答案的方式解决这个问题。无限行数基本上是 SQL 的正常和预期的部分,但无限长度的文本字符串不是。 group_concat() 存在于 mysql 中,但对我而言,它通常几乎无法满足我的要求。它会做它唯一能做的事情,那就是在超过系统限制 group_concat_max_len 时截断结果。因此,它仍然需要额外的代码来计算“真实”结果的长度,并查看它是否比 group_concat_max_len 长。当然,您可能有一些其他约束来保证它不会成为问题,但更有可能的是,它只是不可能,而不是不可能因超过 group_concat_max_len 而出现问题.此外,这意味着您必须在某个时刻验证代码中 group_concat_max_len 的值,因为它是可配置的并且可能会在以后更改。

在几乎所有我希望可以使用 group_concat() 的情况下,我最终发现我最好编写一些可以处理行中所有值的东西,而不是将它们连接成一个字符串。不过,如果您只是在 mysql> 提示符下闲逛,探索您的数据,它会非常方便。

关于mysql - 将多行连接到一个单元格中的 SQL 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8011057/

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