Requete afficher 3 communes par département

Nherro -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, tout le monde.

Je suis bloqué sur une requete. Je chercher à sortir les 3 meilleurs commune pour 5 départements selon leur moyenne foncière.
Je ne sais pas, trouve pas comment préciser/bloquer le nombre de commune a 3.
Pour le moment j'ai toute les commune avec leurs moyenne foncière.

Je me demande si c'est possible en une requête ou si je dois passer par des table temporaire.
Je suis sur postgresql.

Merci d'avance.

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    peux-tu partager ta requête?
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      0
      1. Nherro > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        le LIMIT ne me permet pas d'avoir 3 commune par département. Sauf erreur de ma part.
        Je débute, j'ai commencé ma formation il y a 1 mois.
        Si je met un LIMIT 3 ou 15 il va me sortir les 3 ou 15 1er selon l'ordre de classement, et donc plus de 3 fois 69 par exemple.

        Merci de ton retour.
        0
    2. Nherro
       
      SELECT
      departement.code_departement,
      nom_commune,
      ROUND(SUM(valeur_bien * nb_lot)/sum(nb_lot)) AS valeur_moyenne



      FROM
      commune
      INNER JOIN departement USING (code_departement)
      INNER JOIN adresse USING (id_commune)
      INNER JOIN bien USING (id_bien)
      INNER JOIN mutation USING (id_mutation)

      WHERE departement.code_departement IN ('06', '13', '33', '59', '69')


      GROUP BY departement.code_departement, nom_commune

      ORDER BY valeur_moyenne DESC


      ;
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Nherro
         
        Je pense que c'est une bonne idée de commencer par une table temporaire. Tu pourras réfléchir ensuite à comment l'éliminer.
        0