Exemples
Dans la requête ci-dessous, la sélection sera triée en ordre croissant par les colonnes RDB$CHARACTER_SET_ID
, RDB$COLLATION_ID
de la table RDB$COLLATIONS
:
SELECT
RDB$CHARACTER_SET_ID AS CHARSET_ID,
RDB$COLLATION_ID AS COLL_ID,
RDB$COLLATION_NAME AS NAME
FROM RDB$COLLATIONS
ORDER BY RDB$CHARACTER_SET_ID, RDB$COLLATION_ID
Idem, mais trié par alias de colonne :
SELECT
RDB$CHARACTER_SET_ID AS CHARSET_ID,
RDB$COLLATION_ID AS COLL_ID,
RDB$COLLATION_NAME AS NAME
FROM RDB$COLLATIONS
ORDER BY CHARSET_ID, COLL_ID
La requête suivante est triée, par numéro de colonne :
SELECT
RDB$CHARACTER_SET_ID AS CHARSET_ID,
RDB$COLLATION_ID AS COLL_ID,
RDB$COLLATION_NAME AS NAME
FROM RDB$COLLATIONS
ORDER BY 1, 2
Comme mentionné ci-dessus, ce tri est également acceptable, mais non recommandé :
SELECT *
FROM RDB$COLLATIONS
ORDER BY 3, 2
Dans cette requête, la deuxième colonne de la table BOOKS
est triée :
SELECT
BOOKS.*,
FILMS.DIRECTOR
FROM BOOKS, FILMS
ORDER BY 2
Warning
|
Notez que les expressions dont le résultat doit être un entier non négatif seront interprétées comme des numéros de colonne et soulèveront une exception si elles ne sont pas comprises entre 1 et le nombre de colonnes.
Notes :
|
Trier dans l’ordre décroissant des valeurs de la colonne PROCESS_TIME
avec les valeurs NULL
placées au début de la sélection :
SELECT *
FROM MSG
ORDER BY PROCESS_TIME DESC NULLS FIRST
Tri d’un échantillon obtenu en combinant les échantillons de deux requêtes. L’échantillon est trié par valeurs décroissantes dans la deuxième colonne avec les valeurs NULL
à la fin de la liste et par valeurs croissantes dans la première colonne avec les valeurs NULL
au début de la liste.
SELECT
DOC_NUMBER, DOC_DATE
FROM PAYORDER
UNION ALL
SELECT
DOC_NUMBER, DOC_DATE
FROM BUDGORDER
ORDER BY 2 DESC NULLS LAST, 1 ASC NULLS FIRST