SQL – comment modifier le ORDER BY dans une requête

Lorsqu’il est nécessaire d’avoir un ordre prédéfini dans une requête, il est possible de modifier l’ordre des éléments en utilisant un CASE dans le ORDER BY.

Publicités

Dans cet exemple l’id 12 doit apparaître avant le 2.

SELECT *
FROM channel
ORDER BY  (
CASE
WHEN id = 1 THEN 1
WHEN id = 12 THEN 2
ELSE id + 1
END)

Au final, l’id 1 reste premier, le 12 devient un 2 et ensuite on ajoute 1 a chaque ID, 2 devient 3, 3 un 4 etc…
L’avantage, c’est que la requête nous retournera tout de même le bon id.

Publicités

Laisser un commentaire