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. 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. 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. Super , cela me semble pas mal, avec l'astuce du GROUP BY Immeuble. Je vais tester cela.

        Merci beaucoup