"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo controlar el orden de los valores en una declaración MySQL GROUP_CONCAT?

¿Cómo puedo controlar el orden de los valores en una declaración MySQL GROUP_CONCAT?

Publicado el 2024-11-15
Navegar:843

How Can I Control the Order of Values in a MySQL GROUP_CONCAT Statement?

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
Último tutorial Más>

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