如何使用最新记录更新SQL Server表

时间:2014-08-23 22:39:32

标签: sql-server sql-server-2008-r2

 | number |         date           | 
 +--------+------------------------+
 | p1     |2014-08-23 23:45:49.9902|
 | p1     |2014-08-23 23:46:32.033 |

我在SQL Server中有一个表,上面有数千条记录,我希望能够更新最新记录

 update tableA  
 set number='p2'
 where date=????

提前感谢您的帮助

我使用GETDATE()来保存记录

2 个答案:

答案 0 :(得分:3)

 update tableA  
 set number='p2'
 where date = (select max(date) from tableA)

答案 1 :(得分:1)

如果可以有多个行具有相同的最新日期值,并且您只想更新一行,则可以使用以下

;WITH CTE AS
 (
   SELECT TOP 1 number
   FROM tableA  
   ORDER BY [Date] DESC
 )
UPDATE CTE
 SET number = 'p2'