Sql 如何获取符合某些条件的一组行中最后插入的行?

Sql 如何获取符合某些条件的一组行中最后插入的行?,sql,sql-server,sql-server-2008,entity-framework-4,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008,Entity Framework 4,Sql Server 2008 R2,我面临的问题是获取GUID id为的表中最后插入的行组行 select * from Students where StudentName like 'fares' 如果结果得到两行,如何获得这两行中最近插入的行 不管解决方案是使用SQL、TSQL还是EntityFramework 提前感谢您需要有一个单调递增的列来排序,然后再按该列排序。否则就没有办法做到这一点 SQL Server不会在数据页中保留有关插入的订单行的任何信息,您可以利用这些信息。+1必须具有某种不断增加的ID或日期/时间

我面临的问题是获取GUID id为的表中最后插入的行组行

select * from Students where StudentName like 'fares' 
如果结果得到两行,如何获得这两行中最近插入的行

不管解决方案是使用SQL、TSQL还是EntityFramework


提前感谢

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


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

+1必须具有某种不断增加的ID或日期/时间戳。我想可能有类似rowid thanx的东西可以帮助您在SQL Server 2008中有一种称为时间戳的类型,不是很好吗choice?@major-
时间戳
行版本
的同义词。这与日期时间无关,而是一个
二进制(8)
计数器列,SQL Server会在
插入时和更新时自动更新该列,因此这不会帮助您了解最近插入的内容。@martin也非常感谢您。在您告诉我此信息之前,我将使用时间戳。如果您没有日期/时间戳或某种不断增加的键,这是不可能的