加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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(一)中不同值的数量.

(编辑:李大同)

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

    推荐文章
      热点阅读