如何在Sql表中查找最后修改的行或记录?

问题描述:

我有一张员工表及其一般信息。如何从这个特定的表中找到最后修改的记录,除此之外,我无法在此数据库中添加更多列?如何在Sql表中查找最后修改的行或记录?

+0

你不能!没有这样的信息可用于记录。 – swdev95

如果有DateModified列,或类似的东西,和你想要的最近10个行(例如),你可以使用类似的查询:

SELECT Top 10 * FROM myTable ORDER BY DateModified DESC; 

不指定的味道SQL,因此如果您在Oracle,SQL Server或MS Access中,查询可能会有所不同。

如果你没有这样的一列,你想知道最近添加记录,如果主键是一个自动增量数,你可以做同样的事情,但排序PrimaryKey的下降。如果您真的想要已修改(即已更新)的记录,并且您没有DateModified列,那么您运气不好。没有办法知道。

+0

我没有修改日期列 – Bodhi

+0

插入一个名为modifed date的新列是否有效 – Bodhi

使用MAX聚合函数:

SELECT MAX(Modifieddate) 
FROM your_table 
WHERE your_conditions. 

使用此代码:

SELECT * 
FROM Update_Table UT1 
WHERE UT1.Modified_Date = (SELECT MAX(UT2.Modified_Date) 
FROM Update_Table UT2 
WHERE UT2.PK = UT1.PK 
AND UT2.Last_User = user)