IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Query SQL avec tri sur une date + groupement


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Points : 91
    Points
    91
    Par défaut Query SQL avec tri sur une date + groupement
    Bonjour,

    J'ai une query SQL qui je pense doit être simple pourtant je n'arrive pas à obtenir le bon résultat...

    SGBD : MS SQL

    Voici la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ID  Sequence     Date
    1   01           2001
    2   01           2000
    3   01           2002
    4   02           2003
    5   02           2000
    6   02           2004
    7   03           2006
    8   03           2008
    Je veux obtenir le résultat suivant :

    ID
    2
    5
    7

    Je veux donc obtenir l'ID de l'enregistrement le plus ancien par groupement de Sequence.

    Quelqu'un peut m'éclairer ?

    Merci d'avance,
    Raphaël.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    L'idée est de recupérer la date minimum pour chaque séquence, et de joindre le resultat avec ta table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    select t1.id, t1.sequence, t1.date
    from matable t1
    join (
    	select sequence, min(date) as date_min
    	from matable
    	group by sequence
    	) t2
    ON t1.sequence = t2.sequence
    AND t1.date = t2.date_min
    Attention, date et sequence sont des mots réservés, il n'est pas conseillé de les utiliser comme nom de champs.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Points : 91
    Points
    91
    Par défaut
    Effectivement, ça fonctionne et j'ai compris ce qui est le principal !

    Merci à toi pour cette solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Requête avec sélection sur une date
    Par a6ri3n dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 07/08/2013, 11h31
  2. Requete avec condition sur une date
    Par Romain0 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 23/02/2012, 10h49
  3. [MySQL] Requete SQL et REGEXP sur une date
    Par luffyfr dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/11/2010, 10h57
  4. Select avec max sur une date
    Par olibara dans le forum Requêtes
    Réponses: 10
    Dernier message: 06/07/2010, 07h18
  5. [Excel/VBA] Requete SQL avec clause sur une suite de Cellule
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/02/2007, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo