我必须找到2个变量组合的明显计数.我使用以下2个查询来查找计数:
select count(*) from
( select V1, V2
from table1
group by 1,2
) a
Run Code Online (Sandbox Code Playgroud)
select count(distinct catx('-', V1, V2))
from table1
Run Code Online (Sandbox Code Playgroud)
从逻辑上讲,上述两个查询都应该给出相同的计数,但我得到的计数不同.注意
知道为什么我会得到不同的输出吗?哪个是查找2列或更多列的不同组合计数的最佳方法?
谢谢.
运行第一个sql代码时,SAS日志给出了答案.使用'group by'需要汇总函数,否则会被忽略.因此,计数将返回总行数,而不是组合的2个变量的不同计数.只需将count(*)添加到子查询中,您将获得两种方法相同的答案.
select count(*) from
( select V1, V2, count(*)
from table1
group by 1,2
) a
Run Code Online (Sandbox Code Playgroud)