[POSTRESQL] problème de group by

Le
Etienne
Salut.

je crée une clé pour identifier les pièces jointe de mails.
j'aimerai savoir si cette clé est unique.
je fais donc un

select cle, count(*) from mailattach group by cle having count(*) > 2;

sauf que voila. certain mails embarquent plusieurs fois la meme pièce
jointe. et dans ce cas il n'est pas problèmatique d'avoir un doublon.

j'aimerai donc savoir comment je peux faire pour ecrire la requête.

compter les nombres de clés identiques pour un identifiant de message
(idmail) différent

Etienne
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
SQLpro
Le #22680031
Bonjour,

Le 14/10/2010 11:36, Etienne a écrit :
Salut.

je crée une clé pour identifier les pièces jointe de mails.
j'aimerai savoir si cette clé est unique.
je fais donc un

select cle, count(*) from mailattach group by cle having count(*) > 2;

sauf que voila. certain mails embarquent plusieurs fois la meme pièce
jointe. et dans ce cas il n'est pas problèmatique d'avoir un doublon.

j'aimerai donc savoir comment je peux faire pour ecrire la requête.




Sans le decription de votre table difficile de vous répondre.

Mais il faut faire un COUNT(DISTINCT ???)
Avec ??? relatif à la colonne qui héberge le discriminant de la PJ...

compter les nombres de clés identiques pour un identifiant de message
(idmail) différent

Etienne



A +

--
Frédéric BROUARD - expert SGBDR et SQL - MVP SQL Server - 06 11 86 40 66
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Enseignant Arts & Métiers PACA, ISEN Toulon et CESI/EXIA Aix en Provence
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
WebShaker
Le #22681481
Le 16/10/2010 09:43, SQLpro a écrit :
Bonjour,
Sans le decription de votre table difficile de vous répondre.

Mais il faut faire un COUNT(DISTINCT ???)
Avec ??? relatif à la colonne qui héberge le discriminant de la PJ...



Ben voila j'ai une table genre

CREATE TABLE 'mailattach' (
idmail interger,
attachkey text,
...
)

j'ai besoin de savoir s'il existe des attachkey identiques pour des
idmail differents.

Etienne
SQLpro
Le #22682821
Le 16/10/2010 17:17, WebShaker a écrit :
CREATE TABLE 'mailattach' (
idmail interger,
attachkey text,
...
)



SELECT idmail
FROM mailattach
GROUP BY idmail
HAVING COUNT(DISTINCT attachkey) > 1

Et pour un cours sur SQL, mon site web, comme mon bouquin, peuvent vous
aider !

A +

--
Frédéric BROUARD - expert SGBDR et SQL - MVP SQL Server - 06 11 86 40 66
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Enseignant Arts & Métiers PACA, ISEN Toulon et CESI/EXIA Aix en Provence
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Etienne
Le #22695701
Le 16/10/2010 19:55, SQLpro a écrit :
SELECT idmail
FROM mailattach
GROUP BY idmail
HAVING COUNT(DISTINCT attachkey) > 1



Non.
c'est pas du tout ca que je cherche.
c'est même complètement l'inverse.

la tu me donne tous les mails qui ont deux pieces jointe ayant la meme
clé (ce qui peut arriver)

moi j'ai besoin de toutes les clé (attachkey) liée a au moins deux mails
(idmail) différent.

C'est pas aussi simple.
Etienne
Ph. B.
Le #22696231
Etienne a écrit :
Le 16/10/2010 19:55, SQLpro a écrit :
SELECT idmail
FROM mailattach
GROUP BY idmail
HAVING COUNT(DISTINCT attachkey) > 1



Non.
c'est pas du tout ca que je cherche.
c'est même complètement l'inverse.

la tu me donne tous les mails qui ont deux pieces jointe ayant la meme
clé (ce qui peut arriver)

moi j'ai besoin de toutes les clé (attachkey) liée a au moins deux mails
(idmail) différent.

C'est pas aussi simple.
Etienne



Bonjour,

J'ai lu rapidement le sujet mais je pense d'après ta formulation que :
SELECT attachkey
FROM mailattach
GROUP BY attachkey
HAVING COUNT(DISTINCT idmail) > 1
répondrait à ta question ? (il suffit de retourner le problème..)
--
Philippe.
Etienne
Le #22699621
Le 20/10/2010 12:00, Ph. B. a écrit :
J'ai lu rapidement le sujet mais je pense d'après ta formulation que :
SELECT attachkey
FROM mailattach
GROUP BY attachkey
HAVING COUNT(DISTINCT idmail) > 1
répondrait à ta question ? (il suffit de retourner le problème..)



Ah ben ouai, c'est ca.
Merci.

Etienne
Publicité
Poster une réponse
Anonyme