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

问题描述 投票:0回答:4

我有一张员工表,上面有他们的一般信息。我没有修改日期列。我无法再添加任何列。

如何找到最后修改的记录?

sql sql-update primary-key
4个回答
0
投票

如果有 DateModified 列或类似列,并且您想要最近的 10 行(例如),您可以使用如下查询:

SELECT Top 10 * FROM myTable ORDER BY DateModified DESC;

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

如果你没有这样的列,并且你想知道最近 added 记录,如果主键是一个自动递增的数字,你可以做同样的事情,但按 PrimaryKey 降序排序。如果您真的想要 modified(即更新的)记录,而您没有 DateModified 列,那您就不走运了。没有办法知道。


0
投票

使用 MAX 聚合函数:

SELECT MAX(Modifieddate)
FROM your_table
WHERE your_conditions.  

0
投票

使用此代码:

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)

-1
投票

使用此代码获取上次更新时间。

select top 1 a.object_id, b.name, a.last_user_update from sys.dm_db_index_usage_stats as a, sys.objects as b where a.object_id=b.object_id and b.name = 'your_table_name' order by last_user_update desc
© www.soinside.com 2019 - 2024. All rights reserved.