小问一个数据库更新语句

moodkingdom 2006-08-12 06:59:53
在数据库的一个表[table1]中三个字段
id 姓名 日期
1 sa 2005
2 aa 2006
3 sa 2006
4 bb 2006
这两个字段中有很多数据,现在我求一个更新语句把姓名为sa的最后一条记录的日期更新为2007。
而前面的不要更新。
在上面的例子,就是更新第三条,第一条不要更新。

注意:上面仅仅是例子,所以字段为中文。
...全文
176 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xray2005 2006-08-12
  • 打赏
  • 举报
回复
。。。。。
bobomouse 2006-08-12
  • 打赏
  • 举报
回复
update table1 set 日期='2007' where [id]=(select max([id]) from table1 where 姓名='sa')
cshmai 2006-08-12
  • 打赏
  • 举报
回复
和楼上的一样??唉,晚了一步
cshmai 2006-08-12
  • 打赏
  • 举报
回复
update table1 set 日期='2007' where id=(select top 1 id from table1 where 姓名='sa' order by id desc)
oldmoon 2006-08-12
  • 打赏
  • 举报
回复
赶出来的东西就是不好(老婆叫吃饭,上面又错了,应该是:
update [table1] set 日期='2007' where id=(select top 1 id from [table1] where 姓名='sa' order by id Desc )
oldmoon 2006-08-12
  • 打赏
  • 举报
回复
上面错了,还差一个条件:
update [table1] set 日期='2007' where id=(select top 1 id from [table1] order by id Desc where 姓名='sa')
oldmoon 2006-08-12
  • 打赏
  • 举报
回复
SQL server 2000:
update [table1] set 日期='2007' where id=(select top 1 id from [table1] order by id Desc)
sky266 2006-08-12
  • 打赏
  • 举报
回复
如果id是自动增长的话
declare @id int
select top 1 @id=id from [table1] where 姓名='sa' order by id desc
update Table1 set 日期='2007' where id=@id
baifei_110 2006-08-12
  • 打赏
  • 举报
回复
Oracle数据库在Sql Plus里如下操作:
var temp number(3);
begin
select max(id) into temp from table1 where 姓名='sa';
update table table1 set 日期='2007' where id=temp;
end;

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧