如何对 MySQL GROUP_CONCAT 语句中的值进行排序?

Patricia Arquette
发布: 2024-11-19 10:24:02
原创
457 人浏览过

How do I sort values in a MySQL GROUP_CONCAT statement?

在 MySQL 中对值进行排序 GROUP_CONCAT

在 MySQL 中,GROUP_CONCAT() 函数连接表中的值,并按特定列分组。但是,默认行为是按照值在表中出现的顺序输出值。这可能并不总是理想的结果,特别是当您需要对串联值进行排序时。

要对 GROUP_CONCAT 语句中的值进行排序,您可以在子查询中使用 ORDER BY 子句。例如,考虑以下查询:

GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " » ")
FROM test_competence AS node, test_competence AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt
  AND node.id = l.competence
  AND parent.id != 1
ORDER BY parent.lft) SEPARATOR "<br /><\n") AS competences
登录后复制

此查询返回父权限名称的串联值,按升序排序。

Crafts &raquo; Joinery

Administration &raquo; Organization
登录后复制

通过在其中指定 ORDER BY 子句在子查询中,我们可以控制连接值的顺序。这提供了一种灵活的方式来以自定义顺序呈现结果,使它们更具可读性和组织性。

请记住,ORDER BY 子句应放置在 GROUP_CONCAT() 后面的子查询的括号内。这允许 MySQL 在将值连接成单个字符串之前对它们进行排序。

以上是如何对 MySQL GROUP_CONCAT 语句中的值进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板