De: https://www.w3resource.com/sql-exercises/sql-retrieve-exercise-24.php
Escriba una consulta SQL para encontrar todos los detalles de los ganadores de 1970 por orden de asunto y nombre del ganador; pero la lista contiene el tema Economía y Química al fin.
SELECT * FROM nobel_win WHERE year=1970 ORDER BY CASE WHEN subject IN ('Economics','Chemistry') THEN 1 ELSE 0 END ASC, subject, winner;El CASO aquí parece volverse verdadero si Economía y Química están en la columna de tema. ¿Qué parte especifica aquí que Economía y Química deben mostrarse en el "final"?
La expresión de caso incluida aquí se evaluará como 1 cuando el Subject sea 'Economía' o 'Química'. De lo contrario, devolverá un 0.
Esto se incluye en la consulta sql como el primer término de clasificación, que se ordenará en orden Ascending . Para los dos valores de 0 y 1 que son posibles, esto los ordenará en ese orden: 0 primero, luego 1 .
En otras palabras, el primer tipo será:
Después de esto, se ordena por subject y winner (por lo que, como efecto secundario, al final de la lista, Química siempre se ordenará antes que Economía).