【问题标题】:Use of group_concat in a group by在 group by 中使用 group_concat
【发布时间】:2013-12-18 04:49:25
【问题描述】:

我正在尝试了解group_concat 的用途。
如果我这样做:

select col1, sum(col2), group_concat(col3), group_concat(col4)  
from table  
group by col1;

我将在逗号分隔列表中获得该组中col3col4 的所有值,对吗?
这对 group_concat 有用吗?

【问题讨论】:

  • 就我个人而言,我发现 GROUP_CONCAT 几乎没有用处。 10 次中有 9 次,如果我需要连接结果,在应用程序级别构建它似乎更明智 - 特别是当你有 PHP 的 json_encode() 之类的函数时,它从关联数组构建“连接”字符串。

标签: mysql sql group-by group-concat


【解决方案1】:

这就是GROUP_CONCAT 的确切目的,是的。你的假设是正确的。您将从该组中获取col3col4 的值,以逗号分隔(如果您不更改分隔符)。

GROUP_CONCAT是mysql允许你使用的聚合函数,就像SUMCOUNTMAX等会聚合来自提供的列的结果,对应于提供的“组”列在GROUP BY

有关docs的更多信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    相关资源
    最近更新 更多