Pour ceux que ça pourrait intéresser, voici la réponse :
1 2
| SELECT dep_code||commune_code as insee, ('{'||string_agg('"'||cand_nom||'":"'||cand_nb_voix||'"', ',')||'}')::json from public.res_pres_2022
GROUP BY dep_code, commune_code |
et qui redescend un truc de ce genre :
01301 | {"ARTHAUD":"12","ROUSSEL":"28","MACRON":"258","LASSALLE":"47","LE PEN":"409","ZEMMOUR":"105","MÉLENCHON":"209","HIDALGO":"27","JADOT":"48","PÉCRESSE":"51","POUTOU":"2","DUPONT-AIGNAN":"24"}
Evidemment, le truc du bas dépend de vos données.....
Pour commenter brièvement la requête : j'ai demandé à afficher le code Insee de la commune dans une première colonne, et dans une seconde ce qu'il y a dessus.
Partager