mysql中的group_concat()函数的参数排序

Posted Mr_伍先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中的group_concat()函数的参数排序相关的知识,希望对你有一定的参考价值。

1.用法:mysql group_concat()函数的参数是可以直接使用order by排序的。
2.例子
表中数据如下: id  username  score
1    张三    90 2    李四    85 3    王五    80 4    张三    70 5    李四    80 6    张三    60   需求如下: 我们要查看每个人的片【多个】分数,将该人对应的【多个分数显示在一起】,分数要【从高到底】排序 关键字分析可知: 【多个分数显示在一起】: 必然用到组合【或者说拼接】在一起【当然后端通过代码也可以实现【如:php code】,不过会多些代码】,性能上,还需要另外结合具体情况确定】即关键字concat 【每个人】:则需要用分组,即用到group by 【如果熟悉mysql,就会想到使用group_concat(),如果不熟悉,也请记住,mysql作为这么流行的开源框架,你能想到功能,基本都实现了,而且mysql考虑到了几乎所有的开发者需求,所以去查文档,Google,或者直接百度,总会有提示,然后去实践验证即可】 【从高到底排序】:order by  desc 【默认排序规则就是你能想到的排序的规则,如果结果不是,再去确认】   sql语句: select username, GROUP_CONCAT(score ORDER BY score desc) as myScore from score GROUP BY username;   查询的结果如下: username myScore 张三    90,70,60    //可以看到多个分数在一起,按照指定的分组【即username】,同时排序多个分数,从左往右按照从高到死排序 李四    85,80 王五    80

 

以上是关于mysql中的group_concat()函数的参数排序的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中的group_concat函数

SQL 中的 STUFF 等效函数(MySQL 中的 GROUP_CONCAT / Oracle 中的 LISTAGG)

mysql—group_concat函数

mysql中的group_concat()函数的参数排序

解决mysql中group_concat长度限制的方案

mysql中group_concat函数的作用