Maison > base de données > tutoriel mysql > Comment prioriser des lignes spécifiques dans les requêtes de base de données ?

Comment prioriser des lignes spécifiques dans les requêtes de base de données ?

Mary-Kate Olsen
Libérer: 2024-12-30 05:32:09
original
983 Les gens l'ont consulté

How to Prioritize Specific Rows in Database Queries?

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

Dans certaines requêtes de bases de données, il peut être souhaitable de prioriser l'affichage des lignes contenant une valeur spécifique . Par exemple, considérons le tableau suivant :

Tableau : Utilisateurs

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

Si l'on souhaite récupérer les lignes où la colonne ville contient "New York" en premier, puis les lignes restantes dans par ordre alphabétique de la ville, nous pouvons utiliser la requête suivante :

SQL Server, Oracle et DB2 :

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

Cette requête utilise une expression CASE pour attribuer une priorité de 1 aux lignes avec « New York » comme valeur de ville et une priorité de 2 dans le cas contraire. La clause ORDER BY utilise ensuite cette priorité avec la colonne ville pour le tri. Par conséquent, les lignes avec « New York » seront renvoyées en premier, suivies du reste des lignes classées par ordre alphabétique 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!

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