当前位置: 首页 > 面试题库 >

MySQL:对GROUP_CONCAT值进行排序

孟自强
2023-03-14
问题内容

简而言之:有什么方法可以对GROUP_CONCAT语句中的值进行排序吗?

查询:

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

我得到这一行:

工艺品»细木工

行政管理»组织

我想要这样:

行政管理»组织

工艺品»细木工


问题答案:

当然,请参见http://dev.mysql.com/doc/refman/...tions.html#function_group-
concat

SELECT student_name,
  GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR ' ')
  FROM student
  GROUP BY student_name;


 类似资料:
  • 问题内容: 我正在开发一个名为PHP-Bouncer的开源项目,而我正在为此编写的MySQL查询遇到问题。基本上,我们有三个表:BouncerRoles,PageInRole和BouncerPageOverrides。BouncerRoles包含访问级别,另外两个表通过外键链接回BouncerRoles,并提供多个附加数据条目。我编写了以下查询,以尝试一次提取我需要的所有角色数据: 该查询的目标是

  • 问题内容: 我有这样的价值观: 我想按升序对每个值进行排序。我不想在集合之间进行排序,而是在每个集合中进行排序。 问题答案: 来自评论: 我想对每个集合进行排序。 这很容易。对于任何集合(或其他任何可迭代的对象),以排序顺序返回的元素列表: 请注意,这是给您一个,而不是一个。这是因为在数学和几乎每种编程语言中,集合的全部要点*都是无序的:集合和是同一集合。 您可能真的不想将这些元素排序为字符串,而

  • 我有一个班的学生有以下领域: 字段“状态”可以有2个值:1。现在,2。缺席的 然后我有一个可观察的列表: 因此,我将学生存储在这个列表中。每个学生都有出席或缺席状态。 我需要按状态对这个观察列表进行排序。我希望目前状态的学生在该列表中名列第一。 有什么建议吗? 如果有任何帮助,我将不胜感激。

  • 请检查上面的结果输出。如您所见,在之后,它显示。但是我需要显示而不是。我尝试了两种方法,但结果是一样的。 已经检查了以下问题, MySQL排序字符串号 从VARCHAR强制转换为int-MySQL

  • 我希望根据记录的整数值降序排序:

  • 我想按值长度对Map进行排序。例如,我有这样的代码: 结果是: 所以我想做的是按值长度对这个Map进行排序,所以它返回: