【问题标题】:How to get the last inserted row of a group of rows matching some criteria?如何获取符合某些条件的一组行的最后插入行?
【发布时间】:2011-09-04 12:32:22
【问题描述】:

我面临的问题是在具有 GUID id 的表中获取最后插入的一组行

select * from Students where StudentName like 'fares' 

如果我得到两行结果如何获取这两行中最近插入的行?

不管是SQL还是TSQL还是EntityFramework的解决方案

提前致谢

【问题讨论】:

  • 如果你没有日期/时间戳,或者某种不断增加的键,这是不可能弄清楚的

标签: sql sql-server sql-server-2008 entity-framework-4 sql-server-2008-r2


【解决方案1】:

您需要有一个单调递增的列来排序,然后按此排序。否则没有办法做到这一点。

SQL Server 不会在数据页中保留有关插入的订单行的任何您可以利用的信息。

【讨论】:

  • +1 必须有某种不断增加的 ID 或日期/时间戳才能继续。
  • 我认为也许有类似 rowid thanx 的东西有帮助
  • SQL server 2008 中有一个类型叫做 Timestamp 是不是一个不错的选择?
  • @major - Timestamprowversion 的同义词。这与 datetime 无关,但它是一个 binary(8) 计数器列,SQL Server 会在 insert 和更新时自动更新 所以这不会帮助您了解最近插入的 .
  • @martin 谢谢你,在你告诉我这些信息之前,我打算使用 timestamp
猜你喜欢
  • 1970-01-01
  • 2019-11-21
  • 2020-06-25
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多