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