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 :

requête avec group by...


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2002
    Messages : 32
    Points : 29
    Points
    29
    Par défaut requête avec group by...
    voici ma strucutre: t1(num,description) t2(num,année,valeur). le lien se fait sur les champs num

    ex:
    50 chaise => 50 2004 30
    50 chaise => 50 2005 25
    50 chaise => 50 2006 20

    81 table => 81 2005 150
    81 table => 81 2006 145

    91 meuble => 91 2006 2000

    j'aimerais faire une requête qui m'affiche le résultat suivant en fonction d'un choix d'année:

    50 chaise 2006 20
    81 table 2006 145
    91 meuble 2006 2000

    J'en suis là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT num, description, année, valeur 
     from t1,t2 where t1.num= t2.num  and année <= 2006
    group by num
    Mon pb, c'est que les infos de l'année et de la valeur sont fausses => j'aimerais que ça affiche l'année la plus haute par groupes de records... j'ai essayé de mettre un truc du style Having année = max(année) le résultat n'est pas bon...

    Help me !!!

  2. #2
    Membre habitué Avatar de medbouh
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 171
    Points
    171
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     j'aimerais faire une requête qui m'affiche le résultat suivant en fonction d'un choix d'année:
    du moment que tu choisis l'année, tu mit directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    année = 2006  au lieu de année <= 2006
    beh si tu veut faire pas max année tu mit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT num, description, année, valeur 
     from t1,t2 where t1.num= t2.num  and année = max(année)
    group by num
    je crois que ca devrai marche.
    tiens nous au courant.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    la meme plus propre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT num, description, année, valeur 
     from t1,t2 where t1.num= t2.num  
    group by num 
    having année = max(année)
    Car le filtre porte sur les partitions...

  4. #4
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Citation Envoyé par xwawa
    la meme plus propre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT num, description, année, valeur 
     from t1,t2 where t1.num= t2.num  
    group by num 
    having année = max(année)
    Car le filtre porte sur les partitions...
    Je ne vois pas ce qu'elle a de plus propre, en plus elle est moins efficace, car elle necessite un calcul d'aggregat qui n'est pas necessaire.

Discussions similaires

  1. Requète avec GROUP BY Sql Serveur 200
    Par Corben dans le forum Développement
    Réponses: 6
    Dernier message: 31/10/2008, 10h55
  2. Syntaxe d'une requête avec GROUP
    Par gvdmoort dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/10/2006, 15h10
  3. Requête avec Group by sur Oracle 8i
    Par madina dans le forum Oracle
    Réponses: 14
    Dernier message: 16/06/2006, 12h41
  4. Problème requête avec group by et distinct
    Par tomca dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/07/2005, 16h10
  5. requête avec group by
    Par Staron dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/11/2004, 16h30

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