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 :

Max sur une date par ID


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Points : 37
    Points
    37
    Par défaut Max sur une date par ID
    Bonjour,

    La question va vous sembler lambda mais voila ce que je cherche a faire sur cette table exemple :

    Champs :
    Date - ID - données champs A B C D E...
    25/03/2013 001
    26/04/2013 001
    27/05/2013 001
    27/02/2013 002
    27/02/2014 002
    28/05/2014 001

    Ce que je cherche à faire s'est de pouvoir récupérer l'ensemble des données de chaque ID pour laquelle la date est la MAX(Date).

    Mais je n'arrive qu'à sortir l'ensemble des notes pour laquelle la date est égale à ma date max (toutes mes notes situés sur 29/08/2014) ...

    résultat :
    Date - ID - données champs A B C D E...
    28/05/2014 001
    27/02/2014 002
    etc.
    Merci d'avance

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    Maintes fois posté sur le forum
    Une petite recherche et vous trouverez.

    Vous pourriez nous montrer votre requête sinon ?

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 155
    Points : 7 404
    Points
    7 404
    Billets dans le blog
    1
    Par défaut
    Allez, un petit coup de pouce : le plus simple, c'est de passer par une sous-requête portant que sur le MAX(DATE), ID
    On ne jouit bien que de ce qu’on partage.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Points : 37
    Points
    37
    Par défaut
    Ok je vais alors mieux chercher sur le forum

    sinon ma requête donnait pour le moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM T47
    WHERE DAT01 IN (select max(DAT01 ) from T47)     ;

  5. #5
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 155
    Points : 7 404
    Points
    7 404
    Billets dans le blog
    1
    Par défaut
    Le IN ne fonctionnera pas, car tu dois le faire sur non pas un singleton, mais sur un couple de valeurs.

    Fais une jointure sur ta sous-requête, et ça ira beaucoup mieux
    On ne jouit bien que de ce qu’on partage.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Points : 37
    Points
    37
    Par défaut
    Un jointure entre quoi et quoi puisque l'ensemble de mes données se situent dans la même table ...

    Désolé, je ne suis pas un craque en SQL, mais j'espère pouvoir apprendre

    j'ai peut être trouvé un exemple que je peux réutiliser... je vous dis quoi !


    n'ayant pas encore les données dans mes tables ( contrôles des requêtes un peu compliqués .... cela vous parait-il plus cohérent ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT
      *
    FROM
      T1 AS A
      INNER JOIN
      (
        SELECT max(DAT) AS DATE, ID
        FROM   T1
        GROUP BY ID
      ) AS B
        ON DATE = DAT
           AND A.ID= B.ID
    ;

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

Discussions similaires

  1. [BI4] IDT - Filtre native max sur une date
    Par HudsonSaul dans le forum Designer
    Réponses: 1
    Dernier message: 01/06/2015, 17h47
  2. Requête SQL avec function MAX() sur une date
    Par mehdiyou1985 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 03/12/2012, 21h52
  3. Select avec max sur une date
    Par olibara dans le forum Requêtes
    Réponses: 10
    Dernier message: 06/07/2010, 07h18
  4. Réponses: 2
    Dernier message: 20/03/2009, 09h11
  5. fonction MAX sur une date
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 08/09/2006, 14h59

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