Pages: 1
- Sujet précédent - Retourner les 5 plus grandes communes de chaque département - Sujet suivant
#1 Wed 17 November 2021 19:48
- Hippo
- Participant actif
- Date d'inscription: 18 Jan 2015
- Messages: 57
Retourner les 5 plus grandes communes de chaque département
Bonsoir,
J'ai une table dans PostGreSQL qui liste les départements français et les communes composant chacun des départements, ainsi que les populations municipales.
Je souhaiterais que ma requête retourne pour chaque département les 5 communes ayant le plus d'habitants.
J'ai bien essayé quelquechose comme :
SELECT * FROM table ORDER BY departement,population DESC FETCH FIRST 5 ROWS ONLY
Mais la requête me renvoie évidemment les 10 premières lignes de mon tableau et non les 5 premières lignes pour chaque département ...
Hors ligne
#2 Wed 17 November 2021 22:14
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 427
Re: Retourner les 5 plus grandes communes de chaque département
Bonjour,
Des solutions à ce problème sur cette page (en anglais) https://stackoverflow.com/questions/112 … each-group
La solution marquée comme retenue peut répondre à ton problème car je suppose que tu n'as pas de problématique de millions de lignes et donc de performances.
Code:
SELECT * FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY departement ORDER BY population) AS r, t.* FROM table t) x WHERE x.r <= 5;
Dernière modification par p.jeremie (Wed 17 November 2021 22:14)
Hors ligne
#3 Thu 18 November 2021 09:33
- Hippo
- Participant actif
- Date d'inscription: 18 Jan 2015
- Messages: 57
Re: Retourner les 5 plus grandes communes de chaque département
Génial !! Merci @p.jeremie !
La requête renvoie bien le résultat escompté et effectivement pas de soucis de performances dans mon cas.
Hors ligne
#4 Thu 18 November 2021 10:15
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1544
Re: Retourner les 5 plus grandes communes de chaque département
Hello,
ORDER BY population DESC pour avoir les 5 plus importantes populations, non ?
Nicolas
Hors ligne
#5 Thu 18 November 2021 11:18
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 427
Re: Retourner les 5 plus grandes communes de chaque département
Hello,
ORDER BY population DESC pour avoir les 5 plus importantes populations, non ?
Nicolas
En effet bien vu, j'ai oublié d'adapter ce détail important quand j'ai collé la requête depuis la source citée dans mon message précédent
Hors ligne
#6 Thu 18 November 2021 11:40
- Hippo
- Participant actif
- Date d'inscription: 18 Jan 2015
- Messages: 57
Re: Retourner les 5 plus grandes communes de chaque département
Exact, je l'avais ajouté en copiant la requête :-)
Hors ligne
Pages: 1
- Sujet précédent - Retourner les 5 plus grandes communes de chaque département - Sujet suivant