Selectionner les lignes dont un champ apparait plusieurs fois
bluebird_29200
Messages postés2Date d'inscriptionlundi 28 mars 2005StatutMembreDernière intervention30 mars 2005
-
28 mars 2005 à 01:55
bluebird_29200
Messages postés2Date d'inscriptionlundi 28 mars 2005StatutMembreDernière intervention30 mars 2005
-
30 mars 2005 à 14:48
Bonjour a tous !
sur la table reservations
client_id | transaction_id
je cherche a faire ressortir les client_id dont le nombre d'apparitions depasse un certain seuil.
Exemple : afficher les clients ayant plus de 3 transaction_id differentes, dans la table
client_id | transaction_id
5 1
5 1
5 2
5 3
8 4
8 5
5 6
(il est possible qu'une ligne avec des informations identiques
apparaisse plusieurs fois, sachant qu'il y a d'autres colones que je
n'ai pas cité ici, pour une question de claretée)
Mon ébauche de requête :
select * from reservations group by transaction_id
me donne le tableau
client_id | transaction_id
5 1
5 2
5 3
8 4
8 5
5 6
en rajoutant "ce qui va bien" sur cette requete, je voudrais maintenant obtenir
client_id
5
C'est a dire la liste des client_id qui ont plus de 3 reservations. J'ai essayé avec un count, du genre
select client_id from reservations group by (transaction_id) having ( count(client_id) > 3 );
Mais ca me renvoi une table vide ...
J'esperes avoir exposé clairement mon probleme.
Merci d'avances pour vos réponses
BlueBird
A voir également:
Sql server concaténer plusieurs lignes dans un seul champ
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 30 mars 2005 à 11:18
Essaye avec quelque chose de ce style la :
------------------------------------
SELECT
client_id AS client_id,
transaction_id AS transaction_id,
count(id_absence) AS Total
FROM
TATABLE
GROUP BY
client_id,
transaction_id
HAVING
count(client_id) > 2
------------------------------------