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 :

[SQL] Pb Calcul d'un max


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 97
    Par défaut [SQL] Pb Calcul d'un max
    Bonjour,

    J'ai une table qui contient un champ venue (int) et un autre champ séjour (int) qui sont liés par le fait que un séjour est rattaché à une venue.
    Je voudrais calculer un 3ème champ qui contiendrait le max des numéros séjour pour une venue.

    Pour calculer une aggrégation ( max() en l'occurrence), il faut que le champ soit spécifié dans le group by à priori.

    Don ce que je fais là ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT     Venue,Sejour,MAX(Sejour)
    FROM       MaTable
    GROUP BY   Venue
    La colonne 'Sejour' n'est pas valide dans la liste de sélection parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause GROUP BY.
    si je fais ça , cela marche mais ne sert a rien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT     Venue,Sejour, MAX(Sejour)
    FROM       MaTable
    GROUP BY   Venue,Sejour
    Voilà tout mon problème.

    Matable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE TABLE MaTable
    (Venue INTEGER,
     Sejour INTEGER)


    Merci de votre aide.


    PS: le fait que la table soit dénormalisée est voulu

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 009
    Billets dans le blog
    6
    Par défaut
    Merci de respectez ce post si vous voulez obtenir de l'aide :
    http://www.developpez.net/forums/showthread.php?t=944

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 97
    Par défaut
    Autant pour moi, je ne peux pas faire apparaître le champ dont je fais l'aggrégation dans la clause SELECT.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT     Venue,MAX(Sejour)
    FROM       MaTable
    GROUP BY   Venue

  4. #4
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    C'est ceci que tu veux ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Venue, MAX(Sejour) AS Max_sejour
      FROM MaTable
     GROUP BY Venue
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 97
    Par défaut
    Oui.
    J'avais commis l'erreur de mettre le champ dont je cherchais le mx dans la clause SELECT.

    Merci quand meme. ^_^

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

Discussions similaires

  1. [SQL-Oracle]Calcul de la médiane
    Par fdraven dans le forum Oracle
    Réponses: 5
    Dernier message: 14/08/2006, 15h37
  2. [Oracle] fonction pl/sql pour calcul pwd
    Par shaun_the_sheep dans le forum PL/SQL
    Réponses: 7
    Dernier message: 02/06/2006, 16h38
  3. [Débutant / SQL] Requête avec la fonction MAX
    Par bugmenot dans le forum Access
    Réponses: 3
    Dernier message: 14/04/2006, 11h43
  4. [SQL Server] Calcul durée entre 2 dates sans les dimanches
    Par sarahsonia dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/04/2006, 18h59
  5. Calculer le flow max sur un graphe
    Par faressam dans le forum C++
    Réponses: 6
    Dernier message: 09/02/2006, 17h35

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