加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 使用嵌套查询的update语句

发布时间:2020-12-12 07:06:07 所属栏目:MsSql教程 来源:网络整理
导读:我有一张桌子: mytable: id userID logDate lastLogDate 对于该表中的每一行,我想将“lastLogDate”列更新为每个用户的logDate的最大值… 在概念上,每个用户应该有一个lastLogDate =返回的值: select max(logDate) from mytable group by userID 有人可以
我有一张桌子:
mytable:
    id
    userID
    logDate
    lastLogDate

对于该表中的每一行,我想将“lastLogDate”列更新为每个用户的logDate的最大值…

在概念上,每个用户应该有一个lastLogDate =返回的值:

select max(logDate) from mytable group by userID

有人可以帮我写更新声明吗?

解决方法

这样的东西
UPDATE mytable SET lastLogDate = t.maxDateForUser  
FROM  
(  
    SELECT userid,MAX(logDate) as maxDateForUser  
    FROM mytable  
    GROUP BY userId  
) t  
WHERE mytable.userid = t.userid

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读