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

leo*_*ora 81 sql distinct

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

How*_*ley 122

怎么样简单:

select distinct c1, c2 from t
Run Code Online (Sandbox Code Playgroud)

要么

select c1, c2, count(*)
from t
group by c1, c2
Run Code Online (Sandbox Code Playgroud)

  • 对于那些看到`操作数应该包含1列(s)`错误的人,你的问题是你可能正在从t`中选择distinct(c1,c2)并且你不允许这里使用括号.这就是我到达这里的方式. (3认同)

Jef*_*dge 15

如果你只需要两个字段的不同值,再加上其他字段,那么其他字段必须对它们进行某种聚合(sum,min,max等),并且你想要的两列必须出现在group by子句.否则,就像德克尔所说的那样.


Wil*_* Wu 7

您可以在SQL下面使用两列来获得结果:

SELECT COUNT(*) FROM (SELECT DISTINCT c1, c2 FROM [TableEntity]) TE
Run Code Online (Sandbox Code Playgroud)


小智 5

如果您仍然只想按一列分组(如我所愿),您可以嵌套查询:

select c1, count(*) from (select distinct c1, c2 from t) group by c1
Run Code Online (Sandbox Code Playgroud)