Renvoyer d'abord les lignes avec une valeur spécifique
Vous devez modifier votre requête pour hiérarchiser les lignes en fonction d'une valeur de colonne spécifique tout en conservant l'ordre alphabétique. pour les lignes restantes.
Pour y parvenir :
SQL Server, Oracle, DB2 et autres
Utilisez la syntaxe suivante :
ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city
Dans ce code :
L'instruction CASE crée une colonne de priorité :
ORDER BY trie les lignes :
Exemple
En utilisant la table fournie, cette requête :
SELECT * FROM Users ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city;
renverra la résultats suivants :
- id - name - city - 3 John New York - 4 Amy New York - 6 Nick New York - 1 George Seattle - 2 Sam Miami - 5 Eric Chicago
Cette requête renvoie effectivement les lignes avec « New York » en premier, puis les classe par ordre alphabétique les lignes restantes par ville.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!