表:A
p_id | order | date
-----+-------+---------------
1 | 0 | 2014-01-12
1 | 1 | 2015-02-13
我想根据最新日期以desc顺序分配订单。
例如,如果我在2017-07-14收到相同p_id的记录,我想分配订单= 2
我该怎么做?
由于
答案 0 :(得分:4)
您不需要存储订单,因为您的订单条件是日期
SELECT p_id, date FROM A ORDER BY date
如果您需要0,1,2等,那么
SELECT
p_id, date,
order = ROW_NUMBER() OVER (PARTITION BY p_id ORDER BY date)
FROM A
ORDER BY date
否则,order
可以是一个自动生成号码的标识列