您能在数据库表中获得2个不同字段的独特组合吗?如果是这样,你能提供SQL示例。
答案 0 :(得分:116)
简单地说:
select distinct c1, c2 from t
或
select c1, c2, count(*)
from t
group by c1, c2
答案 1 :(得分:15)
如果您只需要两个字段的不同值,再加上其他字段,那么其他字段必须对它们进行某种聚合(sum,min,max等),以及您希望区分的两列必须出现在group by子句中。否则,就像德克尔所说的那样。
答案 2 :(得分:6)
您可以在SQL下面使用两列来获得结果:
SELECT COUNT(*) FROM (SELECT DISTINCT c1, c2 FROM [TableEntity]) TE
答案 3 :(得分:3)
如果您仍想按一列(我想要)进行分组,您可以嵌套查询:
select c1, count(*) from (select distinct c1, c2 from t) group by c1
答案 4 :(得分:0)
分享我的愚蠢想法:
也许我只能在c1上选择不相同,而不能在c2上选择,所以语法可能是select ([distinct] col)+
,其中distinct
是每列的限定符。
但是经过深思熟虑,我发现仅在一列上是毫无意义的。采取以下关系:
| A | B
__________
1| 1 | 2
2| 1 | 1
如果我们select (distinct A), B
,那么B
合适的A = 1
是什么?
因此,distinct
是statement
的限定词。