Ordenar resultados según el orden de la cláusula WHERE IN
Cuando se utiliza la cláusula WHERE IN en SQL, los resultados normalmente se ordenan según el orden natural de la columna. orden (generalmente ascendente). Sin embargo, en ciertos escenarios, es posible que prefiera que las filas se devuelvan en el mismo orden especificado en la cláusula IN.
Solución: Ordenar por campo
Para ordenar filas de acuerdo con el orden especificado en la cláusula WHERE IN, puede utilizar la función ORDER BY FIELD. Esta función toma dos argumentos:
En este caso, puede usar la siguiente consulta para ordenar los resultados por la columna ID, en el orden especificado en la cláusula IN:
SELECT *
FROM table
WHERE id IN (118, 17, 113, 23, 72)
ORDER BY FIELD(id, 118, 17, 113, 23, 72);
Esta consulta devolverá las filas en el siguiente orden: 118, 17, 113, 23, 72.
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