gpt4 book ai didi

mysql - 单行列出价格并按日期分组

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

我试图在一行上获得按日期分组的四种不同的定价选项。

我有两张表,一张列出了商品及其各种描述符,第二张列出了商品的定价历史记录。问题是我有四种不同的购买选项,每个选项都有单独的行。销售部分中的每件商品都会列出购买选项以及当天的价格。我想做的是按日期分组,并能够每天查看所有 4 个选项的价格。

SELECT
s.date,
CASE WHEN s.code = 'Option 1' THEN s.price ELSE NULL END AS Option 1,
CASE WHEN s.code = 'Option 2' THEN s.price ELSE NULL END AS Option 2,
CASE WHEN s.code = 'Option 3' THEN s.price ELSE NULL END AS Option 3,
CASE WHEN s.code = 'Option 4' THEN s.price ELSE NULL END AS Option 4
FROM main_itempage i
JOIN main_sales s ON i.id = s.item_id
WHERE i.id = '[item's id]' AND s.territory_id = 'US' and date
BETWEEN '2018-01-01' AND '2018-12-31'
GROUP BY date

虽然我想在一行中查看四种不同的价格,但我得到的只是一行中仅列出了选项 1 的价格。其他三列仅返回 NULL。当我取出分组时,它将每天给出四行单独的行,仅填写一列的价格。任何帮助,不胜感激,谢谢。

最佳答案

使用聚合:

SELECT s.date,
MAX(CASE WHEN s.code = 'Option 1' THEN s.price ELSE NULL END) AS Option 1,
MAX(CASE WHEN s.code = 'Option 2' THEN s.price ELSE NULL END) AS Option 2,
MAX(CASE WHEN s.code = 'Option 3' THEN s.price ELSE NULL END) AS Option 3,
MAX(CASE WHEN s.code = 'Option 4' THEN s.price ELSE NULL END) AS Option 4
FROM main_itempage i JOIN
main_sales s
ON i.id = s.item_id
WHERE i.id = '[item''s id]' AND
s.territory_id = 'US' and
date BETWEEN '2018-01-01' AND '2018-12-31'
GROUP BY date;

关于mysql - 单行列出价格并按日期分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54317887/

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