在 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 » Joinery Administration » Organization
透過在其中指定 ORDER BY 子句在子查詢中,我們可以控制連接值的順序。這提供了一種靈活的方式來以自訂順序呈現結果,使它們更具可讀性和組織性。
請記住,ORDER BY 子句應放置在 GROUP_CONCAT() 後面的子查詢的括號內。這允許 MySQL 在將值連接成單一字串之前對它們進行排序。
以上是如何對 MySQL GROUP_CONCAT 語句中的值進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!