Tengo una consulta de este tipo:
Código:
Asi me sale: SELECT * FROM tabla WHERE id_tabla IN (5, 2, 8, 3);
================
id_tabla nombre
================
2 Mamiferos
3 Gatos
5 Animales
8 Felinos
Pero lo necesito asi:
================
id_tabla nombre
================
5 Animales
2 Mamiferos
8 Felinos
3 Gatos
Supongo que se puede hacer con un GROUP BY, pero no veo por donde.
Tal vez se pueda pasar la lista (5, 2, 8, 3) y que me ordene como estan enlistados solo que no he encontrado la forma.
Existe una solucion, que es partir el SELECT en varios y con UNION juntar las salidas.
Código:
De esta manera me salen los resultados ordenados como quiero, pero no creo que sea muy funcional si tengo una lista de mas de 20 elementos.SELECT * FROM tabla WHERE id_tabla = 5 UNION SELECT * FROM tabla WHERE id_tabla = 2 UNION SELECT * FROM tabla WHERE id_tabla = 8 UNION SELECT * FROM tabla WHERE id_tabla = 3
Creo que esto es una forma de ordenacion arbitraria.