Requete SQL sur une table

fred -  
 fred -
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. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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
  2. djasedub Messages postés 11 Statut Membre
     
    bjr ce lien va repondre a ta question il y a plein de tutos detaillés
    https://www.w3schools.com/sql/sql_select.asp
    :)
    0
    1. djasedub Messages postés 11 Statut Membre
       
      si non je te conseille d'étuliser phpmyadmin c plus simple
      au lien de coder les requétes tu peux tout faire tout simplement en mode graphique
      0
  3. fred
     
    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 ?
    0
    1. djasedub Messages postés 11 Statut Membre
       
      essay avec select * from
      0
  4. fred
     
    Super ! ça marche !
    Mais non bien sûr !
    Y aurait -il une âme charitable sur ce site ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fred
     
    Super , cela me semble pas mal, avec l'astuce du GROUP BY Immeuble. Je vais tester cela.

    Merci beaucoup
    0