gpt4 book ai didi

mysql - 更改查询中单独列中的项目名称以使分组更容易

转载 作者:行者123 更新时间:2023-11-29 16:20:18 25 4
gpt4 key购买 nike

我正在尝试计算某些卖家的完整库存。但是,我在根据两个单独的列将信息分组在一起时遇到问题。对于列出的每件商品,都有一个“卖家”列,还有一个“推断卖家”列,其中可以列出产品的原始公司(想想 Costco 的 Kirkland 产品是否在英国的 Tesco 市场销售)。我想为主要客户计算全部项目。

Sample Data:

ID seller item inferred_seller
1 Store_A Chips Store_A
2 Store_B Donuts NULL
3 Store_C Crackers NULL
4 Store_D Chicken Store_B
5 Store_D Soup Store_C
6 Store_E Apple Store_C
7 Store_E Plum Store_B
8 Store_E Bread Store_A

我已经尝试过的是将卖家列表别名为 inferred_seller 的 Case When 场景,以便我可以将它们添加在一起。

SELECT CASE WHEN seller IN ('Store_A','Store_B','Store_C') THEN 
seller WHEN inferred_seller IN ('Store_A','Store_B','Store_C') THEN
inferred_seller = seller END AS seller's, count(id)
FROM items
WHERE seller IN ('Store_A','Store_B','Store_C') OR
inferred_seller IN ('Store_A','Store_B','Store_C')
GROUP BY 1

目前,这仅输出卖家列中的信息,而推断的部分则放入 NULL 或 0 分组中。我想要它显示的是商店 A 由卖家 + 推断卖家组成(如果已经不在卖家之下)。

理想情况下,结果将显示如下所示:

Sellers   count(id)
Store_A 2
Store_B 3
Store_C 3

感谢任何帮助,谢谢。

最佳答案

您可以使用 UNION 返回一个数据集,其中两个字段合并为一列:

SELECT
Seller,
COUNT(id)
FROM (
SELECT
Id,
Seller
FROM items
WHERE Seller IN ('Store_A','Store_B','Store_C')

UNION ALL

SELECT
Id,
Inferred_Seller
FROM items
WHERE Inferred_Seller IN ('Store_A','Store_B','Store_C')
)
GROUP BY Seller

关于mysql - 更改查询中单独列中的项目名称以使分组更容易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54563476/

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