LeetCode(数据库)- 每件商品的最新订单
Posted 程序员牧码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(数据库)- 每件商品的最新订单相关的知识,希望对你有一定的参考价值。
题目链接:点击打开链接
题目大意:略。
解题思路:略。
AC 代码
-- 解决方案(1)
WITH t AS(SELECT order_id, order_date, product_id, DENSE_RANK() OVER(PARTITION BY product_id ORDER BY order_date DESC) rk
FROM Orders)
SELECT product_name, t.product_id, order_id, order_date
FROM t JOIN Products USING(product_id)
WHERE rk = 1
ORDER BY product_name, t.product_id, order_id
-- 解决方案(2)
select product_name, o.product_id, order_id, order_date
from Orders o left join Products p
using(product_id)
where (product_id, order_date) in
(
select product_id, max(order_date) order_date
from Orders
group by product_id
)
order by product_name, product_id, order_id
以上是关于LeetCode(数据库)- 每件商品的最新订单的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode:Database 112.每件商品的最新订单
LeetCode:Database 112.每件商品的最新订单
我尝试获取一些按日期、编号排序的数据,并获取每件商品的最新价格