Ordenar valores en una declaración GROUP_CONCAT
En MySQL, GROUP_CONCAT combina valores de una columna según una agrupación específica. Sin embargo, el orden de los valores concatenados suele estar determinado por el orden en que se produce la agrupación. Para controlar la clasificación de estos valores, se requiere una sintaxis específica.
Para ordenar los valores concatenados en una instrucción GROUP_CONCAT, use una cláusula ORDER BY dentro de la consulta anidada. Por ejemplo, considere la siguiente 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 ordenar los valores de competencia concatenados en orden ascendente, modifique la consulta de la siguiente manera:
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
De manera similar, para ordenar los valores en orden descendente, use una palabra clave DESC después de 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
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3