es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

mySQL order by tiene imagen Y id

Tengo una tabla con una columna de imágenes.
En esa columna, los valores son las URL de las imágenes.
Ahora quiero obtener todas las filas de la tabla en el siguiente orden:
primero – las filas con imágenes, ordenadas por id.
segundo – las filas sin imágenes, ordenadas por id.

Intenté este código (lo encontré en algún lugar):

ORDENAR POR CASO CUANDO image ES NULO ENTONCES 0 ELSE 1 FIN, id DESC

pero no funciona.

¿Puedes ayudarme con esto?

¡Gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    ¡Sí, definitivamente puedo ayudarte con eso! El código que proporcionaste se ve casi correcto, solo necesitas cambiar “id DESC” por “id ASC” para que las filas estén ordenadas por id en orden ascendente.

    Entonces, el código correcto se vería así:

    ORDER BY CASE WHEN image IS NULL THEN 0 ELSE 1 END, id ASC
    

    Esto ordenará primero las filas con imágenes (1) antes que las filas sin imágenes (0), y luego dentro de cada grupo las ordenará por id en orden ascendente.

    ¡Espero que esto te ayude! Hazme saber si tienes alguna pregunta adicional.

Comments are closed.