【MYSQL】UPDATE更新排名列(通过查询数据更新原表字段)

您所在的位置:网站首页 mysql清空表中数据 【MYSQL】UPDATE更新排名列(通过查询数据更新原表字段)

【MYSQL】UPDATE更新排名列(通过查询数据更新原表字段)

2023-05-20 08:21| 来源: 网络整理| 查看: 265

UPDATE更新原理为行更新,即查询当前行内数据之间的数据更新,所以我们要做的便是将需要更新的数据字段和更新数据源字段放在同一行

创建示例数据

INSERT INTO student (id,stuName,sex,score,rankData) VALUES (1,'张三','男','64',''), (2,'李四','女','57',''), (3,'王五','男','74',''), (4,'赵六','女','84',''), (5,'孙七','男','51',''), (6,'钱八','女','89',''), (7,'周九','女','58','');

查询

select * from student

结果:

联表查询

select * from student a INNER JOIN ( select t.Id,@i := @i + 1 as rankNum from (select @i := 0 ) r, (select * from student order by Id desc )as t) t1 on a.id = t1.id

 结果:

通过查询数据更新student表中的rankData字段

update student a INNER JOIN ( select t.Id,@i := @i + 1 as rankNum from (select @i := 0 ) r, (select * from student order by Id asc )as t) t1 on a.id = t1.id set rankData = rankNum select * from student

 结果:

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3