查找最近日期包含特定字符串的所有记录
Find all records which contain certain string at the latest date
我有一个 table 具有订单更改历史记录
cart_id date action
1 01/01/2020 3:00 approved
1 01/01/2020 2:00 saved
2 02/03/2020 9:00 saved
2 02/03/2020 5:00 created
我需要获取“保存”了最新操作的所有购物车 ID 的列表。所以在这种情况下,它只会 return 购物车 ID 2,因为“已保存”是最新的操作,而购物车 ID 1 的最新操作是“已批准”。我不太确定从哪里开始,有什么方法可以实现吗?
您可以使用 ROW_NUMBER()
。例如:
select cart_id
from (
select cart_id, action,
row_number() over(partition by cart_id order by date desc) as rn
from t
) x
where rn = 1 and action = 'saved';
我有一个 table 具有订单更改历史记录
cart_id date action
1 01/01/2020 3:00 approved
1 01/01/2020 2:00 saved
2 02/03/2020 9:00 saved
2 02/03/2020 5:00 created
我需要获取“保存”了最新操作的所有购物车 ID 的列表。所以在这种情况下,它只会 return 购物车 ID 2,因为“已保存”是最新的操作,而购物车 ID 1 的最新操作是“已批准”。我不太确定从哪里开始,有什么方法可以实现吗?
您可以使用 ROW_NUMBER()
。例如:
select cart_id
from (
select cart_id, action,
row_number() over(partition by cart_id order by date desc) as rn
from t
) x
where rn = 1 and action = 'saved';