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
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