"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 ordenar los resultados de MySQL mediante el orden de la cláusula en () usando la función de campo?

¿Cómo ordenar los resultados de MySQL mediante el orden de la cláusula en () usando la función de campo?

Publicado el 2025-03-22
Navegar:471

How to Order MySQL Results by IN() Clause Order using the FIELD Function?

Usando la función de campo para ordenar los resultados en () orden

en mysql, la cláusula de orden por cláusula puede usarse para ordenar los resultados de consulta en orden ascendente o descendente. Al usar el método in (), puede ser difícil garantizar que los resultados se devuelvan en el mismo orden que el IDS en la cláusula in (). Afortunadamente, hay una solución: la función de campo.

La función de campo toma dos parámetros: un nombre de campo y una lista de valores. Devuelve el índice del primer valor en la lista que coincide con el valor de campo. Por ejemplo, la siguiente consulta devolvería los valores 1, 2, 3, para la columna "id" para filas donde el valor es 3, 2 o 1:

SELECT id, FIELD(id, 3, 2, 1) AS ordering FROM table_name;

para ordenar los resultados por el orden in (), simplemente pasar los valores de la cláusula en () función:

SELECT id, FIELD(id, 4, 7, 3, 8, 9) AS ordering FROM table_name;

esto devolverá los resultados en el orden especificado:

4 - Article 4
7 - Article 7
3 - Article 3
8 - Article 8
9 - Article 9
Ú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