Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2825 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Group by PostgreSQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Group by PostgreSQL

n°2332807
intersigne
/!\ SJW /!\
Posté le 02-05-2019 à 13:41:08  profilanswer
 

Bonjour  :hello:  
 
J'ai un problème de requête PostgreSQL que je ne parviens plus à refaire.
 
En gros j'ai une table comme ça :
 
pk col1 col2 col3
1 AA ad 1
2 AA ac 1
3 AA ac 1
4 BB bc 2
5 BB bd 2
6 CC cd 3
7 CC ce 3
8 DD de 4
9 DD de 4
10 DD dg 4
 
Avec un group by j'étais arrivé à ce résultat, mais j'ai oublié comment :
 
 
count_col1 col1      col2                     col3
3                 AA        ad, ac               1
2                 BB        bc, bd               2
2                 CC        cd, ce               3
3                 DD       de, dg               4
 
 
 
Merci  :jap:


---------------
Roll out !
mood
Publicité
Posté le 02-05-2019 à 13:41:08  profilanswer
 

n°2332808
flo850
moi je
Posté le 02-05-2019 à 14:15:44  profilanswer
 

avec array_agg


---------------

n°2332810
Devil'sTig​er
Posté le 02-05-2019 à 14:31:22  profilanswer
 

Code :
  1. SELECT col1, col3, COUNT(col1) AS count_col1, array_agg(col2) AS col2 FROM matable
  2. GROUP BY col1, col3


Un truc comme ca.

n°2332818
intersigne
/!\ SJW /!\
Posté le 02-05-2019 à 15:29:15  profilanswer
 

Merci,
 
J'ai essayer mais le problème est que pour l'exemple cela donne pour DD :
 
 
count_col1 col1      col2                     col3  
1                 DD       dg                     3  
2                 DD       de, de               3  
 


---------------
Roll out !
n°2332822
flo850
moi je
Posté le 02-05-2019 à 15:45:47  profilanswer
 

si tu regardes la doc de array_agg, tu verras qu'il y a la possibilité d'avoir les valeurs différentes, et même de les trier


---------------

n°2332834
Devil'sTig​er
Posté le 02-05-2019 à 16:43:28  profilanswer
 

intersigne a écrit :

Merci,
 
J'ai essayer mais le problème est que pour l'exemple cela donne pour DD :
 
 
count_col1 col1      col2                     col3  
1                 DD       dg                     3  
2                 DD       de, de               3  
 


Testé:

Code :
  1. SELECT COUNT(col1) AS count_col1, col1, array_agg(DISTINCT col2) AS col2, col3 FROM test_hfr
  2. GROUP BY col1, col3


 
Manquait le distinct... Franchement tu pouvais le trouver...

n°2332836
intersigne
/!\ SJW /!\
Posté le 02-05-2019 à 17:11:08  profilanswer
 

Devil'sTiger a écrit :


Manquait le distinct... Franchement tu pouvais le trouver...


 
Effectivement tu as raison.
 
 
Merci à vous, cela fonctionne comme cela.


---------------
Roll out !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Group by PostgreSQL

 

Sujets relatifs
Limité une requete PostgreSQLphp ldap add group
erreur avec le group_by depuis la maj de Wamp[SQL] Group by relou
De SAS à PostgreSQL (édité)Trigger PostgreSQL
guidage pour calcul formulaire struts / postgresql[RESOLU] Postgresql pb d'import fichier CSV avec la commande COPY
group BY et moyenne de valeursProblème group by
Plus de sujets relatifs à : Group by PostgreSQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR