加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

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

发布时间:2020-05-24 10:42:12 所属栏目: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(一)中不同值的数量.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读