Maison > base de données > tutoriel mysql > Comment hiérarchiser les lignes avec une valeur spécifique puis les trier par ordre alphabétique en SQL ?

Comment hiérarchiser les lignes avec une valeur spécifique puis les trier par ordre alphabétique en SQL ?

Barbara Streisand
Libérer: 2025-01-01 03:07:09
original
559 Les gens l'ont consulté

How to Prioritize Rows with a Specific Value Then Sort Alphabetically in SQL?

Renvoyer d'abord les lignes avec une valeur spécifique

Problème :

Vous souhaitez récupérer des données à partir d'une table, en donnant la priorité aux lignes qui contiennent une valeur spécifique dans une colonne particulière. Les lignes restantes doivent suivre par ordre alphabétique en fonction d'une autre colonne.

Considérez un exemple de tableau Utilisateurs avec la structure suivante :

id name city
1 George Seattle
2 Sam Miami
3 John New York
4 Amy New York
5 Eric Chicago
6 Nick New York

Solution :

Pour hiérarchiser les lignes en fonction d'une valeur spécifique et classer par ordre alphabétique les lignes restantes, utilisez ce qui suit requête :

ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city
Copier après la connexion

Explication :

L'expression CASE attribue une valeur de priorité de 1 aux lignes où la colonne de ville correspond à la valeur spécifiée (« New York ») et une valeur de priorité de 2 pour toutes les autres lignes. Cela garantit que les lignes contenant « New York » apparaissent en premier dans l'ensemble de résultats.

La deuxième partie de la clause ORDER BY, ville, trie davantage les lignes de chaque groupe prioritaire par ordre alphabétique en fonction de la colonne ville.

Cette requête renverra les 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

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal