SQL ORDER BY



SQL > Commandes SQL > Order By 

Jusqu’à présent, nous avons vu comment extraire des données d’une table à l’aide des commandes SELECT et WHERE. Il convient souvent de lister les résultats dans un ordre particulier. Le classement peut se faire dans un ordre ascendant ou descendant, ou peut être établi par des valeurs saisies en chiffres ou en lettres. Dans de tels cas, il est possible d’utiliser le mot-clé ORDER BY pour atteindre notre objectif.

La syntaxe d’une instruction ORDER BY est comme suit :

SELECT "nom de colonne"
FROM "nom de table"
[WHERE "condition"]
ORDER BY "nom de colonne" [ASC, DESC];

Les crochets [ ] signifient que l’instruction WHERE est optionnelle. Toutefois, si une clause WHERE est déjà présente, elle se trouvera devant la clause ORDER BY. La clause ASC ou DESC provoque respectivement un tri des résultats dans un ordre ascendant ou descendant. En cas d’omission de l’une d’elles, la clause ASC est implicitement appelée, provoquant donc un tri en ordre ascendant par défaut.

Il est possible d’ordonner par plusieurs colonnes. Dans ce cas, la clause ORDER BY ci-dessus devient :

ORDER BY "nom de colonne 1" [ASC, DESC], "nom de colonne 2" [ASC, DESC]

Supposons que nous avons choisi l’ordre ascendant pour les deux colonnes, la colonne de sortie sera classée dans un ordre ascendant selon la colonne 1. S’il y a une liaison pour la valeur de la colonne 1, le tri se fera dans un ordre ascendant selon la colonne 2.

Par exemple, pour trier les contenus de la Table Store_Information par montant en dollar, dans un ordre descendant :

Table Store_Information
Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
San Diego 250 07-Jan-1999
San Francisco 300 08-Jan-1999
Boston 700 08-Jan-1999

il faut saisir :

SELECT Store_Name, Sales, Txn_Date
FROM Store_Information
ORDER BY Sales DESC;

Résultat:

Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
Boston 700 08-Jan-1999
San Francisco 300 08-Jan-1999
San Diego 250 07-Jan-1999

En plus du nom de colonne, il est également possible d’utiliser une position de colonne (basée sur la requête SQL) pour indiquer la colonne à laquelle nous souhaitons appliquer la clause ORDER BY. La première colonne est 1, la seconde 2, et ainsi de suite. Dans l’exemple précédent, il serait possible d’obtenir les mêmes résultats en utilisant la commande suivante:

SELECT Store_Name, Sales, Txn_Date
FROM Store_Information
ORDER BY 2 DESC;

SQL Fonctions >>



Copyright © 2014   1keydata.com   Tous droits réservés.


SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL Fonctions
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL ALIAS
SQL Jointure
SQL Jointure Externe
SQL Concaténer
SQL SUBSTRING
SQL TRIM






Plan du site