Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 难以理解涉及不同输出的内容_Sql - Fatal编程技术网

Sql 难以理解涉及不同输出的内容

Sql 难以理解涉及不同输出的内容,sql,Sql,我很难理解为什么这两个语句给出相同的输出: 案例1: SELECT sum(DISTINCT prod_price) FROM PRODUCTS 案例2: SELECT SUM(SQ.COST) FROM (SELECT DISTINCT [VEND_ID] as PROD,[PROD_PRICE] as COST FROM PRODUCTS) SQ 其中,SELECT*FROM Products的输出如下所示: 思考一下这个问题 SELECT SUM(SQ.COST) FROM (SEL

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

案例1:

SELECT sum(DISTINCT prod_price) 
FROM PRODUCTS
案例2:

SELECT SUM(SQ.COST)
FROM (SELECT DISTINCT [VEND_ID] as PROD,[PROD_PRICE] as COST FROM PRODUCTS) SQ
其中,
SELECT*FROM Products
的输出如下所示:

思考一下这个问题

SELECT SUM(SQ.COST)
FROM (SELECT DISTINCT [VEND_ID] as PROD,[PROD_PRICE] as COST 
      FROM PRODUCTS) SQ
作为

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

  • 卖方ID
  • 产品价格
将首先计算此查询,然后计算查询的下一部分,如:

SELECT SUM(SQ.COST)
FROM SQ

这与您的原始查询完全相同,因此答案也相同。

在您的产品表中有6个不同的
product\u price
vend\u id
组合

巧合的是,如果我只取
产品价格
,那么还有6条不同的记录:

3.49
5.99
8.99
11.99
4.99
9.49.
因此总数是一样的

@RADAR谢谢:)很高兴这有助于人们理解。
3.49
5.99
8.99
11.99
4.99
9.49.