Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <dm@creaemedia.com> a écrit dans le message de
news:eIuvsNKnDHA.2772@TK2MSFTNGP12.phx.gbl...
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.
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.