Pouvez-vous obtenir la combinaison distincte de 2 champs différents dans une table de base de données? Si oui, pouvez-vous fournir l'exemple SQL.SQL distinct pour 2 champs dans une base de données
61
A
Répondre
94
Que diriez-vous simplement:
select distinct c1, c2 from t
ou
select c1, c2, count(*)
from t
group by c1, c2
15
Si vous voulez des valeurs distinctes de deux champs, plus retourner d'autres champs avec eux, les autres champs doivent avoir une sorte d'agrégation sur eux (somme, min, max, etc.), et les deux colonnes que vous voulez distinctes doivent apparaître dans la clause group by. Sinon, c'est comme dit Decker.
3
Si vous voulez encore le groupe que par une colonne (comme je le voulais), vous pouvez imbriquer la requête:
select c1, count(*) from (select distinct c1, c2 from t) group by c1
3
Vous pouvez obtenir le résultat distinct par deux colonnes ci-dessous utilisent SQL:
SELECT COUNT(*) FROM (SELECT DISTINCT c1, c2 FROM [TableEntity]) TE
Selon les données, grouper est plus lent que distinct – noizer
Pour ceux qui voient que l'opérande doit contenir 1 colonne (s) ', votre problème est que vous faites probablement' select distinct (c1, c2) de t' et vous n'êtes pas autorisé parenthèses ici. Voilà comment je suis arrivé ici. – BookOfGreg