在表格中查找最新匹配的最新匹配名称

时间:2014-10-17 10:29:36

标签: sql sql-server

我有一个表PersonalInfo,其中包含Id, Name, Address

等列

假设我有以下数据

1    John    US
2    Mark    UK
3    John    UK
4    David   US

现在我插入以下新记录

5 John China

我想更新与新记录具有相同名称的最后一条记录,例如此处显示记录3 John UK将更新为3 John China

当我插入第5条记录时,表格应为

1    John    US
2    Mark    UK
3    John    China
4    David   US
5    John    China

我应该使用什么SQL查询?

1 个答案:

答案 0 :(得分:0)

假设Id是自动递增的,它将是该名称和地址组合的最高值。

UPDATE PersonalInfo
SET Address = 'US'
WHERE ID = (SELECT MAX(Id)
FROM PersonalInfo
WHERE Name = 'John'
AND Address = 'UK'
)