gpt4 book ai didi

sql - 按奇数结果分组

转载 作者:行者123 更新时间:2023-12-04 13:51:09 25 4
gpt4 key购买 nike

我正在运行以下查询:

SELECT DISTINCT
CAST(ar_all_bills.a_unpaid_balance as decimal(5,2)) as "Total Unpaid Balance"
FROM ar_all_bills WHERE a_ar_customer_cid = 100059

结果是以下2条记录:

49.74
62.41

但是,当我将 GROUP BY 添加到查询中以获取未付余额的 SUM 时:

SELECT DISTINCT
SUM(CAST(ar_all_bills.a_unpaid_balance as decimal(5,2))) as "Total Unpaid Balance"
FROM ar_all_bills WHERE a_ar_customer_cid = 100059 GROUP BY a_ar_customer_cid

结果是:

461.27

对此有什么想法吗?

最佳答案

您在第一个查询中的 DISTINCT 正在过滤掉包含在第二个查询中的 SUM 中的项目。删除 DISTINCT,您会看到第一个的总和等于第二个的总和。

如果您希望 SUM 与原始值匹配,请尝试以下操作:

SELECT SUM(DISTINCT CAST(ar_all_bills.a_unpaid_balance as decimal(5,2))) as "Total Unpaid Balance" FROM ar_all_bills  WHERE a_ar_customer_cid = 100059 GROUP BY a_ar_customer_cid

DISTINCT 需要位于 SUM 内部,而不是外部。否则,您得到的是 DISTINCT SUM,而不是 DISTINCT 项的 SUM

如果您希望 SUM 包含所有项(而不仅仅是 DISTINCT 项),则只需完全删除 DISTINCT(在您的特定情况下与您的第二个查询没有什么不同,但在所有情况下的含义都不同):

SELECT SUM(CAST(ar_all_bills.a_unpaid_balance as decimal(5,2))) as "Total Unpaid Balance" FROM ar_all_bills  WHERE a_ar_customer_cid = 100059 GROUP BY a_ar_customer_cid

关于sql - 按奇数结果分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com