sql – 为什么DISTINCT COUNT()会返回9而不是1?

前端之家收集整理的这篇文章主要介绍了sql – 为什么DISTINCT COUNT()会返回9而不是1?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下声明:
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;

在此特定结果集上,如果我删除了DISTINCT和COUNT(),则结果集将返回完全相同数据的九行.如果我添加DISTINCT,我会得到一行.添加COUNT()我得到九个结果,我期待一个.我假设操作的顺序正在影响我的结果,但我怎么能解决这个问题,所以我得到了我想要的结果?

注意:这是较大的sql语句中的子选择.

解决方法

SELECT DISTINCT COUNT(Z.TITLE)计算具有Z.TITLE(九)值的行数. DISTINCT是多余的,因为COUNT已经汇总了行.

SELECT COUNT(DISTINCT Z.TITLE)计算Z.TITLE(一)中不同值的数量.

猜你在找的MsSQL相关文章