首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >理解涉及Distinct的输出时遇到困难

理解涉及Distinct的输出时遇到困难
EN

Stack Overflow用户
提问于 2014-11-07 02:03:31
回答 2查看 27关注 0票数 0

我很难理解为什么这两个语句给出了相同的输出:

案例1:

代码语言:javascript
运行
复制
SELECT sum(DISTINCT prod_price) 
FROM PRODUCTS

案例2:

代码语言:javascript
运行
复制
SELECT SUM(SQ.COST)
FROM (SELECT DISTINCT [VEND_ID] as PROD,[PROD_PRICE] as COST FROM PRODUCTS) SQ

其中我的SELECT * FROM Products输出如下所示:

EN

回答 2

Stack Overflow用户

发布于 2014-11-07 02:09:24

考虑一下这个查询

代码语言:javascript
运行
复制
SELECT SUM(SQ.COST)
FROM (SELECT DISTINCT [VEND_ID] as PROD,[PROD_PRICE] as COST 
      FROM PRODUCTS) SQ

作为

代码语言:javascript
运行
复制
SELECT DISTINCT [VEND_ID] as PROD,[PROD_PRICE] as COST FROM PRODUCTS 

进入临时表,假设名为SQ,有两列:

  • VEND_ID
  • PROD_PRICE

这个查询将首先被评估,然后查询的下一部分如下:

代码语言:javascript
运行
复制
SELECT SUM(SQ.COST)
FROM SQ

这与你的原始查询是一样的,因此答案也是一样的。

票数 2
EN

Stack Overflow用户

发布于 2014-11-07 02:10:49

产品表中有6个不同的product_pricevend_id组合。

巧合的是,如果我只取product_price,那么还有6个不同的记录:

代码语言:javascript
运行
复制
3.49
5.99
8.99
11.99
4.99
9.49.

因此总和是一样的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26786299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档