我有一張名為購買的表,想為每個 sku 購買,但每個 sku 只購買最后 2 次。我怎樣才能做到這一點?

uj5u.com熱心網友回復:
您可以利用row_number(). 從您有限的示例資料來看,您似乎想要每個 SKU 的最低 Id 值,如果不正確,請修改 order-by 標準:
SELECT id, sku, date
FROM (
select *, row_number() over(partition by sku order by date desc) rn
from purchase
)p
where rn <= 2
order by sku, date;
DB<>小提琴
uj5u.com熱心網友回復:
像這樣
with p as (
select p.*, row_number() over (partition by sku order by date desc) as rn
FROM purchase p
)
select * from p where rn <= 2 order by sku,rn
結果在這里
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/441850.html
標籤:sql PostgreSQL
上一篇:Oracle獲取mydate>=sysdate-1年的所有行
下一篇:WEB端播放華為海康大華視頻方案
