我的SQL查询遇到问题(选择不同的工作)。
我的sql是:
select distinct
count(T2.Column1)
from Table1 t2
where T2.Column1='2017-05-210'
实际的第1列数据只有3个数据, 但输出 12
Nb: - Column1数据与Column2具有1到多种情况,
以下是实际数据:
Column 1 Column 2
1 A
1 B
1 C
1 D
2 A
2 B
2 C
2 D
3 A
3 B
3 C
3 D
任何人都可以帮助我吗? 非常感谢你的关注。
谢谢!
答案 0 :(得分:0)
您想要计算不同的值,count(distinct )
:
select count(distinct T2.Column1)
from Table1 t2
where T2.Column1='2017-05-210'
(但是,您的示例数据和查询的数据/列不匹配。)
答案 1 :(得分:0)
您的示例数据,结果和查询不匹配。
但是,您的查询的作用是:
column1 = '2017-05-210'
的所有记录。column1
不为空的所有记录(对于所有这些记录都是如此,column1 = '2017-05-210'
)。DISTINCT
说你要从结果行中删除任何重复项。只有一行,没有重复,所以这里的功能是多余的。所以想想你真正想要的东西。您使用COUNT(DISTINCT column)
计算不同的值(即计算忽略重复项),但COUNT(DISTINCT column1)
当然会返回1,因为您只查找一个值{{1} }(如果没有匹配此值的记录,则为零)。