我有一个名为sub_transactions的记录表:
id transaction_id date
51 4 2023-01-02 00:00:00
52 4 2023-02-06 00:00:00
53 4 2023-03-06 00:00:00
假设我获取日期介于Feb 5 - Mar 5之间的记录,然后在前端显示,如下所示:
Transaction ID Sub Transaction ID date
4 2 Feb 6, 2023
如您所见,Sub Transaction ID列编号将显示记录为“2"的当前索引。使用以下SQL查询:
SELECT *, ROW_NUMBER() OVER(ORDER BY id) AS r_number FROM sub_transactions WHERE start_date >= '2023-02-05' AND start_date <= '2023-03-05';
将导致:
id transaction_id date r_number
52 4 2023-02-06 00:00:00 1
r_number数据应为“2”,因为它是第二条记录。另一个示例是提取大于3月5日的记录,所需的结果为:
Transaction ID Sub Transaction ID date
4 3 Mar 6, 2023
子事务ID列编号将为“3”,因为它是第三条记录。如果表中的第一条记录将被删除,则索引也将重置。实现此目的的最佳方法是什么?谢谢。
1条答案
按热度按时间eeq64g8w1#
您可以使用子选择