我必须找到两个变量组合的不同计数。我用下面的2个查询找到计数:GROUP BY和catx给出2列的计数,给出不同的输出
select count(*) from
( select V1, V2
from table1
group by 1,2
) a
select count(distinct catx('-', V1, V2))
from table1
从逻辑上讲,上述两种查询应给予同样的计数,但我得到不同的计数。需要注意的是
- V1和V2是整数
- 两个变量可以有NULL值,但也有我的表没有空值
- 没有负值
知道为什么我可能会得到不同的输出?哪种方法可以找到2列或更多列的不同组合的最佳方法?
谢谢。
'count(distinct cat(V1,' - ',V2))'query? – raina77ow
哪个版本的SQL(MySQL,SQLite,Oracle等)是这样的? –
@MarkBannister我不太确定。我在SAS环境中工作,我认为这是MySQL的变体。但是逻辑不应该随着SQL的版本而变化,对吧? – Macbook