gpt4 book ai didi

SQL 用于识别价格变化的行,按项目分组

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

我有一个包含数千个水果条目的表。有些水果会立即出售,而另一些则会在随后的日期以较低的价格重新定价以清理库存。每个商品条目都有一个唯一的 ID/SKU,但当以新价格重新输入时,会获得一个新的行 ID。

Original Table                  
ID Date UID Fruit Variety Price
1 3/1/18 100100 Apple Fiji 2.99
2 3/1/18 100101 Apple Gala 3.99
3 3/1/18 100102 Apple HoneyCrisp 4.99
4 3/1/18 100201 Orange Navel 2.49
5 3/1/18 100202 Orange Clementine 2.79
6 3/1/18 100301 Cherry Bing 1.99
7 3/1/18 100302 Cherry Black 2.29
8 3/8/18 100100 Apple Fiji 2.69
9 3/8/18 100202 Orange Clementine 2.15
10 3/15/18 100302 Cherry Black 1.79
11 3/22/18 100102 Apple HoneyCrisp 4.49
12 3/29/18 100201 Orange Navel 2.19

我正在寻找列出价格发生变化的商品的输出,并按 UID 分组,以便重新定价的商品显示在彼此相邻的行中,以便轻松查看价格变化的比较,像这样:

Desired Results                 
ID Date UID Fruit Variety Price
1 3/1/18 100100 Apple Fiji 2.99
8 3/8/18 100100 Apple Fiji 2.69
5 3/1/18 100202 Orange Clementine 2.79
9 3/8/18 100202 Orange Clementine 2.15
7 3/1/18 100302 Cherry Black 2.29
10 3/15/18 100302 Cherry Black 1.79
3 3/1/18 100102 Apple HoneyCrisp 4.99
11 3/22/18 100102 Apple HoneyCrisp 4.49
4 3/1/18 100201 Orange Navel 2.49
12 3/29/18 100201 Orange Navel 2.19

谢谢!

最佳答案

我会使用窗口函数来做到这一点:

select ID, Date, UID, Fruit, Variety, Price
from (select t.*,
min(t.price) over (partition by t.fruit, t.variety) as min_price,
max(t.price) over (partition by t.fruit, t.variety) as max_price
from t
) t
where min_price <> max_price
order by fruit, variety, date;

关于SQL 用于识别价格变化的行,按项目分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49868095/

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