Ordenando valores em uma instrução GROUP_CONCAT
No MySQL, GROUP_CONCAT combina valores de uma coluna com base em um agrupamento específico. No entanto, a ordem dos valores concatenados normalmente é determinada pela ordem em que ocorre o agrupamento. Para controlar a classificação desses valores, é necessária uma sintaxe específica.
Para classificar os valores concatenados em uma instrução GROUP_CONCAT, use uma cláusula ORDER BY na consulta aninhada. Por exemplo, considere a seguinte consulta:
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
Para classificar os valores de competência concatenados em ordem crescente, modifique a consulta da seguinte forma:
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 ASC) SEPARATOR "<br />\n") AS competences
Da mesma forma, para classificar os valores em ordem decrescente, use uma palavra-chave DESC após ASC:
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 DESC) SEPARATOR "<br />\n") AS competences
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3