Mik*_*lls 7 sql db2 ibm-midrange
我有以下声明:
SELECT DISTINCT COUNT(Z.TITLE) AS COUNT
FROM QMFILES.MPRLRREQDP Y,
QMFILES.MPRLRTYPP Z
WHERE Y.REQUEST_TYPE = Z.ID
AND Y.REQUEST_ID = 13033;
Run Code Online (Sandbox Code Playgroud)
在此特定结果集上,如果我删除DISTINCT并且COUNT()结果集将返回完全相同数据的九行.如果我添加DISTINCT,我会得到一行.添加COUNT()我得到九个结果,我期待一个.我假设操作的顺序正在影响我的结果,但我怎么能解决这个问题,所以我得到了我想要的结果?
注意:这是较大的SQL语句中的子选择.
小智 15
SELECT DISTINCT COUNT(Z.TITLE)计算值为Z.TITLE(九)的行数.这DISTINCT是多余的,因为COUNT已经汇总了行.
SELECT COUNT(DISTINCT Z.TITLE)计算Z.TITLE(一)中不同值的数量.