繁体   English   中英

如何在分组sql db2中选择记录最后更新

[英]How to select record last update in grouping sql db2

我有下表:

表格1

ITEM_NAME|ID_ITEM|SUBMIT_DATE|DELIVERY_DATE
SUGAR    |11111  |2017-02-15|2017-02-18 01:00:21
SU GAR   |11111  |2019-03-17|2019-03-18 05:04:06
PIE      |22222  |2015-02-25|2015-04-23 12:12:00
PIE SWEET|22222  |2015-01-30|2016-02-01 14:21:11
SWEET    |22222  |2018-05-18|2018-05-19 18:14:01
CANDY    |33333  |2018-05-04|2018-08-21 13:04:02
CANCAN   |33333  |2014-01-05|2014-02-12 02:05:23
CANDYDY  |33333  |2019-07-04|2019-07-08 12:10:02
CANDY    |33333  |2017-09-27|2017-09-28 14:02:03
CANDY CAN|33333  |2016-09-24|2016-09-25 01:23:20
SNACK    |44444  |2018-12-30|2018-12-31 10:02:05

表2

ID_SUPPLY|ID_ITEM|SUBMIT_DATE FF3355656|11111|2017-02-15 01:02:03 G88889898|11111|2019-03-17 21:12:21 HH555|22222|2015-01-30 10:25:10 I8990909|22222|2018-05-18 14:25:10 J98900|44444|2018-12-30 25:10:14 L89800|33333|2014-01-05 14:08:14 M9890890980-|33333|2019-07-04 13:05:06

我想获得选择了Table1和ID_SUPPLY FORM Table2上所有字段并具有每个ID_ITEM的table1.SUBMIT_DATE DESC和table1.DELIVERY_DATE DESC和table2.SUBMIT_DATE DESC的结果。

ID_SUPPLY|ITEM_NAME|ID_ITEM|SUBMIT_DATE|DELIVERY_DATE G88889898|SU GAR|11111|2019-03-17|2019-03-18 05:04:06 I8990909|SWEET |22222|2018-05-18|2018-05-19 18:14:01 M9890890980-|CANDYDY|33333|2019-07-04|2019-07-08 12:10:02 J98900|SNACK|44444|2018-12-30|2018-12-31 10:02:05

有人可以协助查询吗? 谢谢你

使用窗口功能:

select t.*
from (select t.*,
             row_number() over (partition by id_item order by submit_date desc, delivery_date desc) as seqnum
      from t
     ) t
where seqnum = 1;

您可以在下面尝试-

select * from tablename a
where SUBMIT_DATE in (select max(SUBMIT_DATE) from a1 where a.ID_ITEM=a1.ID_ITEM)
and DELIVERY_DATE in (select max(DELIVERY_DATE) from a2 where a.ID_ITEM=a2.ID_ITEM)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM