Requete SQL sur une table

Bonjour,

J'ai un probleme pour trouver la bonne requete à faire dans le cas suivant:
J'ai la table suivante

Immeuble Proprietaire NbAppart
A X 5
A Y 3
A Z 4
B X 2
B Y 6
B Z 0
C X 4
C Y 0
C Z 2

Je veux extraire les immeubles ou le proprietaire X a plus d'appartements que les autres proprietaires.

Merci pour votre aide

5 réponses

  1. Modérateur
    Bonjour,

    Pas testé.. mais peut être avec un truc du genre :
    SELECT T.Immeuble, T.MaxNb 
    FROM (
      SELECT Immeuble
                , Proprietaire
                , max(NbAppart) as MaxNb 
      FROM table
      GROUP BY Immeuble 
      )T
    WHERE T.Proprietaire = "x"
    

    1. Merci pour la réponse. Je connais bien ce site et globalement, je sais faire des requetes relativement complexes, mais dans ce cas j'ai un vrai probleme pour trouver la bonne requete.
      Je l'aurais bien commencé comme cela :
      SELECT Immeuble FROM MATABLE WHERE Proprietaire=X AND NbAppart =MAX(...
      Je bute sur l'opération à mettre pour récupérer le nb max d'appartements d'un meme immeuble.
      Ou alors je dois faire une sous requete pour récupérer ce nombre max ?
      1. essay avec select * from
    2. Super ! ça marche !
      Mais non bien sûr !
      Y aurait -il une âme charitable sur ce site ?
      1. Super , cela me semble pas mal, avec l'astuce du GROUP BY Immeuble. Je vais tester cela.

        Merci beaucoup