Maison > base de données > tutoriel mysql > Comment puis-je implémenter un tri personnalisé dans Oracle SQL pour hiérarchiser des valeurs spécifiques ?

Comment puis-je implémenter un tri personnalisé dans Oracle SQL pour hiérarchiser des valeurs spécifiques ?

Mary-Kate Olsen
Libérer: 2024-12-27 03:12:08
original
366 Les gens l'ont consulté

How Can I Implement Custom Sorting in Oracle SQL to Prioritize Specific Values?

Tri personnalisé dans Oracle SQL

Lors du classement des données dans Oracle SQL, il arrive parfois qu'un ordre de tri personnalisé soit nécessaire, comme la priorisation certaines valeurs doivent apparaître en haut. Un scénario courant consiste à donner la priorité à une devise spécifique, telle que l'USD, parmi un mélange de devises.

Pour trier une colonne en fonction d'une priorité personnalisée, les fonctions CASE ou DECODE peuvent être utilisées. Voici comment procéder :

À l'aide de CASE

order by 
    CASE 
       when currency = 'USD' then 1 
       when currency = 'BHT' then 2
       when currency = 'JPY' then 3
       when currency = 'MYR' then 4
       else 5
    END
Copier après la connexion

En attribuant des valeurs numériques à chaque devise, le tri donnera la priorité à l'USD d'une valeur de 1, suivi du BHT (2 ), JPY (3) et MYR (4). Toutes les autres devises non spécifiées seront inférieures à la valeur par défaut de 5.

Utilisation de DECODE (spécifique à Oracle)

Une syntaxe plus concise peut être obtenue en utilisant DECODE :

order by DECODE(currency, 'USD', 1, 'BHT', 2, 'JPY', 3, 'MYR', 4, 5)
Copier après la connexion

Alternative pour les non mentionnés Devises

Si l'ordre de priorité doit inclure des devises non explicitement mentionnées dans l'expression CASE/DECODE, la modification suivante peut être utilisée :

order by 
    CASE 
       when currency = 'USD' then '001' 
       else currency
    END
Copier après la connexion

Cela attribue une valeur de caractère à USD (« 001 »), assurant son placement en haut, tout en laissant les devises restantes être triées par ordre alphabétique.

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