【发布时间】:2023-03-26 02:47:01
【问题描述】:
我运行以下查询求和然后我得到完全相同的答案
SQL 1 ::
Select L_PARTKEY,sum(L_LINENUMBER) As A
From lineitem
Inner Join orders On orders.O_ORDERKEY = lineitem.L_ORDERKEY
WHERE O_WEEKDAY='Tuesday'
Group by L_PARTKEY
SQL 2 ::
SELECT sum(IF(orders.O_WEEKDAY='Tuesday',L_LINENUMBER, 0)) As 'Tuesday'
FROM lineitem
INNER JOIN orders ON orders.O_ORDERKEY = lineitem.L_ORDERKEY
GROUP BY lineitem.L_PARTKEY
但是当我使用 AVG/COUNT/MIN/MAX 函数而不是 SUM 运行上述查询时,两个查询都会给出不同的输出。
【问题讨论】:
-
尝试一些交叉检查,比如在不使用聚合函数的情况下查看两个查询中有多少条记录和哪些记录
-
显示一些样本数据集@fiddle没有这个我们帮不了你,你只能有我们的建议