gpt4 book ai didi

sql - 如何根据标志或最近的更新时间戳获取不同的记录?

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

我正在尝试根据以下条件获取记录。

表:存储

架构:

create table store (product varchar(50),product_id number,product_type varchar(10),product_flag char(1),product_upd_dt Date);
insert into store(product,product_id,product_type,product_flag,product_upd_dt)values('Apple',123,'GALA','Y','16-MAR-20 06.49.05');
insert into store(product,product_id,product_type,product_flag,product_upd_dt)values('Apple',123,'GALA','N','16-MAR-20 06.49.05');
insert into store(product,product_id,product_type,product_flag,product_upd_dt)values('Apple',134,'JAZZ','N','16-MAR-20 06.49.05');
insert into store(product,product_id,product_type,product_flag,product_upd_dt)values('Apple',134,'JAZZ','N','14-MAR-20 06.49.05');
insert into store(product,product_id,product_type,product_flag,product_upd_dt)values('Apple',134,'JAZZ','N','15-MAR-20 06.49.05');
insert into store(product,product_id,product_type,product_flag,product_upd_dt)values('Apple',13,'ENVY','Y','15-MAR-20 06.49.05');
commit;

1) 由此我想根据 product_flag='Y' 获取 product_id

2)如果 product_flag 是 'N' 则获取最近更新的 product_id。

3)一个产品可以映射到相同的product_id,但不同的product_type。

4)同一行可以重复但product_upd_dt不同

这是一个例子。

输入图像

enter image description here

这是预期的输出-

输出图像

enter image description here

提前致谢。

最佳答案

啊,1-4代表的是方向,不是单独的问题……不好意思,一开始我理解错了问题。

这个怎么样?

SQL> select product,
2 product_id,
3 product_type,
4 max(product_flag) product_Flag,
5 max(product_upd_dt) product_upd_dt
6 from store
7 where product_id in (select product_id
8 from store
9 where product_flag = 'Y'
10 )
11 group by product, product_id, product_type;

PRODUCT PRODUCT_ID PRODUCT_TY P PRODUCT_UPD_DT
---------- ---------- ---------- - ------------------
Apple 134 ENVY Y 15-mar-20 06.49.05
Apple 123 GALA Y 16-mar-20 06.49.05
Apple 134 JAZZ N 16-mar-20 06.49.05

SQL>

关于sql - 如何根据标志或最近的更新时间戳获取不同的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61045220/

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