J'ai cette requête:Trier les enregistrements SQL en fonction des conditions adaptées
SELECT * FROM table WHERE key LIKE '1,2,3,%' OR key LIKE '1,2,%' OR key LIKE '1,%'
est-il pour trier les enregistrements posible renvoyés par cette requête basée sur des conditions qui ont été adaptées en premier. J'aimerais obtenir tous les enregistrements qui correspondent key LIKE '1,2,3,%'
d'abord, puis key LIKE '1,2,%'
et les autres après.
Par exemple, si j'ai ces documents:
key: "1,2,3,4"
key: "1,2,5"
key: "1,4"
key: "1,2,5,6"
key: "1,3"
key: "1,2,3,4,7"
key: "1,2,4"
Je les aime à trier comme ceci:
key: "1,2,3,4"
key: "1,2,3,4,7"
key: "1,2,4"
key: "1,2,5"
key: "1,2,5,6"
key: "1,3"
key: "1,4"
Est-il possible de faire?
Eh bien, qu'avez-vous essayé? Notez que c'est juste un tri lexical normal des chaînes ... –
Votre requête est redondante. en utilisant simplement "WHERE key LIKE '1,%'" vous donnera les mêmes résultats. –
@Kevin, oui vous avez absolument raison. Puisque j'utilise maintenant les conditions plus spécifiques dans le "ORDER BY CASE", j'ai maintenant changé ma condition WHERE à seulement "1,%". – remi