Compte les différentes paires de valeurs de plusieurs colonnes dans SQL
Quelle requête compte le nombre de lignes, mais distincts par trois paramètres?
Exemple:
Id Name Address
==============================
1 MyName MyAddress
2 MySecondName Address2
Quelque chose comme:
select count(distinct id,name,address) from mytable
- Qui SGBD que vous utilisez?
- Puisque vous inclure un identifiant, qui est probablement la clé primaire, tous les chefs sera un...
- id était un exemple...mauvais exemple de toute façon
- Peut-être la "id" est un mauvais exemple, mais la question est valide, et m'a aidé à trouver une réponse. Avoir un +1
Vous devez vous connecter pour publier un commentaire.
D'obtenir un décompte du nombre de combinaisons uniques de
id
,name
etaddress
:Obtenir tous distincts
id
,name
etaddress
colonnes et de compter les lignes obtenues.GROUP BY
simplement des groupes de plusieurs lignes avec la même valeur dans la colonne groupée en une seule ligne. Donc, si vous avez 100 lignes avec la même valeur pourname
, oui, il sera de retour une seule ligne, mais si vous avez 100 lignes avec 10 valeurs différentes pour laname
colonne (et vousGROUP BY name
), il sera de retour de 10 lignes, chacune avec une nettename
.L'autre (probablement pas prêt à la production ou recommandé) méthode je suis juste venu avec est de concat les valeurs d'une chaîne et à compter de cette chaîne distinctement:
Vous pouvez aussi faire quelque chose comme: