Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de recherche de doublons et clause GROUP BY

1 réponse
Avatar
Didier MORIN
Problème de recherche de doublons et clause GROUP BY

Bonjour

Un problème récurant avec la clause group by

J'ai trois données

IDSTE (INT compteur)

RAISONSOCIALE (vchar)

SIRET (vchar)

Je lance une requette

SELECT count(siret) as nb_siret_similaire FROM SOCIETES

GROUP BY siret

ORDER BY COUNT(siret) DESC

Et la j'obtiens des nombre supérieur à 1 qui me donne une indication sur d'
éventuels doublons.

Mais si j'inclue l'IDSTE dans la clause SELECT je dois aussi le mettre dans
la clause GROUP BY et là je n'ai plus de doublon.

Ce qui est normal puisque mes IDSTE (compteur) sont différents.

Y a-t-il un moyen pour dissocier les données à afficher (clause select) et
les données à regrouper (clause GROUP BY) dans une requête.

En finalité je voudrai pouvoir afficher tous les IDSTE des enregistrements
de ma requête.

Par avance merci

1 réponse

Avatar
Nicolas LETULLIER
Tu es alors obligé de passer par une sous-requête.

Si j'ai bien compris, tu veux tous les IDSTE, avec le nombre de sociétés
similaires.

SELECT IDSTE, Q1.nombre
FROM SOCIETES T1
INNER JOIN (SELECT siret, count(*) as nombre FROM SOCIETES GROUP by
siret) AS Q1 ON T1.siret = Q1.siret
ORDER BY Q1.nombre DESC

Si tu n'avais voulu que les IDSTE, un simple WHERE siret IN (SELECT ...)
aurait suffit.

Nicolas.

"Didier MORIN" a écrit dans le message de
news:
Problème de recherche de doublons et clause GROUP BY

Bonjour

Un problème récurant avec la clause group by

J'ai trois données

IDSTE (INT compteur)

RAISONSOCIALE (vchar)

SIRET (vchar)

Je lance une requette

SELECT count(siret) as nb_siret_similaire FROM SOCIETES

GROUP BY siret

ORDER BY COUNT(siret) DESC

Et la j'obtiens des nombre supérieur à 1 qui me donne une indication sur


d'
éventuels doublons.

Mais si j'inclue l'IDSTE dans la clause SELECT je dois aussi le mettre


dans
la clause GROUP BY et là je n'ai plus de doublon.

Ce qui est normal puisque mes IDSTE (compteur) sont différents.

Y a-t-il un moyen pour dissocier les données à afficher (clause select) et
les données à regrouper (clause GROUP BY) dans une requête.

En finalité je voudrai pouvoir afficher tous les IDSTE des enregistrements
de ma requête.

Par avance merci