gpt4 book ai didi

sql - 使用 Distinct 作为参数

转载 作者:行者123 更新时间:2023-12-02 22:17:09 25 4
gpt4 key购买 nike

SELECT ORIGIN_NAME, SUM(NET_WEIGHT),
CASE WHEN ORIGIN_NAME IS NULL THEN 'Basket' ELSE ORIGIN_NAME END AS ORIGIN
FROM VW_PURCHASE_ORDER
GROUP BY ORIGIN_NAME

我有上面的查询,我在饼图中使用了它。

但是,因为这个查询抓取的信息有重复的记录,所以我需要进行上面的查询:(虽然我确定 WHERE 是错误的,因为它缺少适当的表达式来完成子句)

WHERE DISTINCT PO_PREFIX||PO_NUMBER||PO_SUFFIX

这样我就不会重复计算重复记录中的权重

我已经尝试过子查询,但我目前在 SQL 编程方面是一个相当大的新手,我认为我做的不正确(SELECT DISTINCT 列可以用作子查询吗?)。

最佳答案

让我们把操作分成几个步骤,

第 1 步。查找所有不同的行:

SELECT DISTINCT 
PO_PREFIX, PO_NUMBER, PO_SUFFIX, NET_WEIGHT,
COALESCE(ORIGIN_NAME, 'Basket') AS ORIGIN
FROM
VW_PURCHASE_ORDER ;

第 2 步:按 origin 分组,使用上面的作为派生表(名为 tmp):

SELECT
ORIGIN, SUM(NET_WEIGHT) AS SUM_NET_WEIGHT
FROM
( SELECT DISTINCT
PO_PREFIX, PO_NUMBER, PO_SUFFIX, NET_WEIGHT,
COALESCE(ORIGIN_NAME, 'Basket') AS ORIGIN
FROM
VW_PURCHASE_ORDER
) tmp
GROUP BY
ORIGIN ;

关于sql - 使用 Distinct 作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14274836/

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