select distinct count 和 select count distinct 有什么区别?

sam*_*art 4 sql count distinct

我知道select count(distinct a),但我最近遇到了select distinct count(a)

我不太确定这是否有效。

如果这是一个有效的用途,你能给我一个带有示例数据的示例代码,这可以解释我的区别。

Hive 不允许后者。

任何线索将不胜感激!

Mar*_*tek 7

查询select count(distinct a)将为您提供 a 中唯一值的数量。
虽然查询select distinct count(a)将为您提供 a 中唯一值计数的列表。如果不分组,它将只有一行总计数。

看下面的例子

create table t(a int)

insert into t values (1),(2),(3),(3)


select count (distinct a) from t

select distinct count (a) from t
group by a
Run Code Online (Sandbox Code Playgroud)

它将为您3提供第一个查询和值1以及2第二个查询。