sql – 为什么DISTINCT COUNT()会返回9而不是1?
发布时间:2020-12-12 06:54:26 所属栏目:MsSql教程 来源:网络整理
导读:我有以下声明: SELECT DISTINCT COUNT(Z.TITLE) AS COUNT FROM QMFILES.MPRLRREQDP Y,QMFILES.MPRLRTYPP ZWHERE Y.REQUEST_TYPE = Z.ID AND Y.REQUEST_ID = 13033; 在此特定结果集上,如果我删除了DISTINCT和COUNT(),则结果集将返回完全相同数据的九行.如果我
我有以下声明:
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(一)中不同值的数量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |