我在表格中有以下记录:
User Product Quantity
A Test 1 5
A Test 1 3
B Test 1 4
B Test 2 1
当我运行'DELETE FROM Sample WHERE User='A' AND Product='Test 1'
时,我想删除最后插入的记录:
User Product Quantity
A Test 1 5
B Test 1 4
B Test 2 1
这可能吗?请指教。
答案 0 :(得分:2)
根据我的评论,这是一个有效的sql fiddle。
请注意,在小提琴示例中,我添加了一个id和last_edited列。我使用GetDate()填充日期时间,但添加连续几天(getdate()+ 1..n)以强制使用唯一的日期时间......
答案并不是最顺畅的,而是在评论中展示了我所说的内容,并且是正确的。顺便说一句,您没有指定SQL Server的版本,但是如果它是2012,您应该使用新的,更高精度的日期时间类型,并在列上添加唯一索引,因为您的日期时间需要是此中的唯一标识符场景。你是否使用代理id!
在此重复评论:
你的桌子中“最后”是什么意思?如果没有日期时间列,则无法确定性地计算在表格中最后放置的记录。至少在SQL Server中没有内部元数据可以提供这样的信息...我还建议使用代理主键,因为没有任何值是唯一的。