Magazine High tech

Sélectionner toutes les données d'une table SQL ayant la date la plus vieille

Publié le 11 novembre 2008 par Dave Lizotte
Évidement, le titre peut porter à confusion, mais voici la problématique, vous serez en mesure de mieux comprendre ce que nous allons faire par le suite. Dans une table SQL nommé ici XYZ et contenant un champ ID, Description et Date, nous désirons obtenir tous les champs ayant la date la plus vieille. Comme nous ne savons pas d'avance combien d'élément nous allons obtenir, nous ne pouvons utiliser SELECT TOP n FROM XYZ ORDER BY Date Desc. Ceci fonctionne seulement si vous savez combien d'élément vous allez obtenir.

Par contre, ici nous ne connaissons pas le nombre d'élément. Donc voici comment faire face à cette problématique grâce aux requêtes imbriquées.

1. Obtenir la date la plus loins, la plus vieille

SELECT TOP 1 Date FROM XYZ ORDER BY Date Desc

2. Obtenir tous les enregistrements provenant de la date la plus vieille

SELECT ID, Description, Date FROM XYZ WHERE Date = (SELECT TOP 1 Date FROM XYZ ORDER BY Date Desc)

** MySQL

SELECT ID, Description, Date FROM XYZ WHERE Date = (SELECT Date FROM XYZ ORDER BY Date Desc LIMIT 0,1)

Retour à La Une de Logo Paperblog

A propos de l’auteur


Dave Lizotte 57 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog