我的一切是其自身内部使用start_date
和end_date
获取mysql行版本号?
版本数据库我想要做的是动态获取的行版本号。
因此,获取与特定的所有行ITEM_ID由起始日期排序,然后给出一个start_date
和end_date
,将其隔离到一排。我想要的是找出那排的位置。
例如数据
id | item_id | start_date
1 | 1 | 01-31-2012
2 | 1 | 02-31-2012
3 | 2 | 02-31-2012
4 | 1 | 03-31-2012
5 | 2 | 05-31-2012
6 | 1 | 04-31-2012
如果使用select id from items where item_id = 2 and start_date = 05-31-2012
将返回5
所以我想对版本将2
如果使用select id from items where item_id = 1 and start_date = 03-31-2012
将返回4
所以我想为该版本将是3
我可以想到的唯一方法就是选择所有具有item_id的行,然后循环检查每个项目的start_date,如果它不是我想要的版本号增加1。
是有一种方法只用mysql来完成它?
如何在上例中将版本定义为2和3。请详细解释。 –
@NilamDoctor,因为具有选定日期的匹配行是具有该item_id的第2和第3行。 – Hailwood