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】,同时排序多个分数,从左往右按照从⾼到死排序
mysql group by order by李四85,80
王五80