如何在SQL(oracle)中创建此表中的排序号?
(表名: PAYXX)
ID Sequence Pay Date Pay Coverage Pay Coverage End
Start
ID101 7/25/2021 3/22/2021 6/27/2021
ID101 3/21/2021 3/8/2021 3/21/2021
ID101 5/2/2021 12/28/2020 3/21/2021
ID102 2/21/2021 2/8/2021 2/21/2021
ID102 3/7/2021 2/22/2021 3/7/2021
ID102 4/4/2021 3/22/2021 4/4/2021
ID103 7/25/2021 3/22/2021 6/27/2021
ID103 2/7/2021 1/25/2021 2/7/2021
ID103 2/21/2021 2/8/2021 2/21/2021
ID103 3/7/2021 2/22/2021 3/7/2021
ID103 3/7/2021 9/21/2020 12/27/2020
ID103 3/21/2021 3/8/2021 3/21/2021它应该是这样的
ID Sequence Pay Date Pay Coverage Pay Coverage End
Start
ID101 3 7/25/2021 3/22/2021 6/27/2021
ID101 1 3/21/2021 3/8/2021 3/21/2021
ID101 2 5/2/2021 12/28/2020 3/21/2021
ID102 1 2/21/2021 2/8/2021 2/21/2021
ID102 2 3/7/2021 2/22/2021 3/7/2021
ID102 3 4/4/2021 3/22/2021 4/4/2021
ID103 5 7/25/2021 3/22/2021 6/27/2021
ID103 1 2/7/2021 1/25/2021 2/7/2021
ID103 2 2/21/2021 2/8/2021 2/21/2021
ID103 3 3/7/2021 2/22/2021 3/7/2021
ID103 3 3/7/2021 9/21/2020 12/27/2020
ID103 4 3/21/2021 3/8/2021 3/21/2021发布于 2022-01-14 08:36:07
你想要DENSE_RANK在这里。假设薪资日期是确定每个ID组中的排名的列:
SELECT t.*, DENSE_RANK() OVER (PARTITION BY ID ORDER BY pay_date) seq
FROM yourTable t
ORDER BY ID, pay_date;https://stackoverflow.com/questions/70707867
复制相似问题