SQL不同于数据库中的2个字段

时间:2008-10-10 20:31:12

标签: sql distinct

您能在数据库表中获得2个不同字段的独特组合吗?如果是这样,你能提供SQL示例。

5 个答案:

答案 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是什么?

因此,distinctstatement的限定词。