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 :

obtenir le champ correspondant à une valeur maximale d'un autre champ


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut obtenir le champ correspondant à une valeur maximale d'un autre champ
    bonjour,

    je cherche à écrire une requête sql assez proche de celle qu'on peut trouver là -> http://sqlcourse2.com/groupby.html
    à savoir :

    SELECT max(salary), dept
    FROM employee
    GROUP BY dept;

    qui retourne la liste des salaires les plus élevés dans chaque département. Ce que je veux c'est également obtenir le nom de ceux à qui correspondent ces salaires.
    La requète suivante

    SELECT lastname, max(salary), dept
    FROM employee
    GROUP BY dept;

    ne retourne évidemment pas le nom qui correspond au salaire maximum et pourtant c'est ce que je voudrait
    J'ai passé la journée à éplucher la doc et j'ai rien trouvé de satisfaisant.

    voilà. Si quelqu'un à une solution à me proposer je le remercie par avance

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    une possibilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT employee.Lastname, employee.Salary, employee.Dept
    FROM employee INNER JOIN 
    (SELECT Max(A.Salary) as MaxSalary, A.Dept FROM employee as A GROUP BY A.Dept) as B
    ON (employee.Dept = B.Dept) AND (employee.Salary = B.MaxSalary)
    cordialement,

    Philippe

Discussions similaires

  1. Réponses: 7
    Dernier message: 01/04/2014, 15h45
  2. Réponses: 4
    Dernier message: 02/05/2012, 16h02
  3. [AC-2003] Comparer deux champs dans une table et remplir un autre champ
    Par frexville dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/09/2009, 13h52
  4. Réponses: 12
    Dernier message: 27/08/2007, 12h34
  5. Réponses: 3
    Dernier message: 08/06/2007, 12h24

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