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 :

Problème HAVING + GROUP BY + MAX


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Par défaut Problème HAVING + GROUP BY + MAX
    Bonjour,

    Pourriez vous me donner le script SQL pour récupérer ID, NUM, DATE, MONTANT quand NUM=MAX(NUM), sachant qu'il faut grouper sur ID, s'il vous plait ?

    Id Num Date Montant
    13 20 20070103 0.000000000
    13 21 20070308 0.000000000
    13 22 20070418 0.000000000
    14 0 NULL 6628.670000
    14 1 20040913 2035.240000
    14 2 20050314 2083.310000
    14 3 20050329 162.4400000
    14 4 20050513 2347.680000
    15 0 20100629 5015.330000
    15 1 20050119 23.92000000
    15 2 20051014 15.30000000
    15 3 20060209 22.37000000
    15 4 20070112 38.60000000
    15 5 20081112 11.16000000
    15 6 NULL 4903.980000
    16 0 NULL 1706.550000
    16 1 20040504 43.34000000
    16 2 20050712 49.71000000
    16 3 20060620 1613.500000
    19 0 NULL 383.7100000
    19 1 20040616 383.7100000
    19 2 20041230 0.000000000

    Résultat:

    Id Num Date Montant
    13 22 20070418 0.00000000000
    14 4 20050513 2347.68000000
    15 6 NULL 4903.98000000
    16 3 20060620 1613.50000000
    19 2 20041230 0.00000000000

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bonjour,

    Quel est votre sgbd ?

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Par défaut
    Citation Envoyé par punkoff Voir le message
    bonjour,

    Quel est votre sgbd ?
    Je suis sur SQL Server 2008 R2

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Par défaut
    C'est un forum d'entraide qui est la pour t'aider a comprendre l'informatique, pas pour faire ton travail.

    Tu fais la requête et ensuite on te dit ou tu as faut.

    Cette démarche n'est vraiment pas pédagogique et ce n'est pas comme ça que tu vas apprendre ou t'améliorer.

    Ta requête est très simple fait la toi même, avec un peu de recherche sur internet tu devrais trouver sans mal comment faire ça.

    En plus mettre urgent sur ton titre et demander au gens de faire la requête c'est pas tiptop, nous ne sommes pas la pour faire ton boulot mais pour t'aider.

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Vous avez donc deux solutions.

    La 1ere comme vous l'avez dit, i lfaudra procédez comme suit :
    - construisez votre 1ere requete qui cherche les num maximum pour chaque ID.
    - Faites une jointure entre cette requete construite et votre table pour ressortir les bonnes lignes.


    La 2eme approche sera d'utiliser des fonctions de fenetrages, ceci permettra de ne faire qu'un seul scan de table / index pour arriver au résultat : http://sqlpro.developpez.com/article...clause-window/

    Revenez avec vos essais

    +

  6. #6
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Par défaut
    Citation Envoyé par punkoff Voir le message
    Vous avez donc deux solutions.

    La 1ere comme vous l'avez dit, i lfaudra procédez comme suit :
    - construisez votre 1ere requete qui cherche les num maximum pour chaque ID.
    - Faites une jointure entre cette requete construite et votre table pour ressortir les bonnes lignes.


    La 2eme approche sera d'utiliser des fonctions de fenetrages, ceci permettra de ne faire qu'un seul scan de table / index pour arriver au résultat : http://sqlpro.developpez.com/article...clause-window/

    Revenez avec vos essais

    +
    Ça marche avec la première approche, Merci beaucoup

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

Discussions similaires

  1. problème avec Group By/Having
    Par cocacola dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/03/2010, 02h23
  2. Problème avec group by...
    Par gdido dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/07/2005, 09h34
  3. [débutant] problème avec Group by
    Par Amenofis dans le forum Débuter
    Réponses: 5
    Dernier message: 25/05/2005, 09h57
  4. Réponses: 9
    Dernier message: 17/01/2004, 10h51

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