mysql怎么修改倒数某一行的值

比如说,我要修改info表中username为张三的集合倒数第三行的值,该如何操作呢

我没有你的表结构和数据,所以随便找了张表作为例子,你看懂了改一下sql就可以了:

目的:修改roomPeople=20的倒数第三条数据的roomType字段为999,roomId为主键

这是原始数据:很明显我们要修改的数据roomId为105

修改步骤:

1、找到roomPeople=20的数据:

2、取最后3条数据:

3、获得要修改的目标行的roomId字段

4、根据查找到的主键进行修改操作:

5、修改后数据为:

很明显,目的达到了,roomId为105的数据的roomType字段被修改为了999

所有sql如下:

#原始数据-按roomId升序排序
select roomId,roomType,roomPeople from room15

#修改roomPeople=20的倒数第三条数据的roomType字段为999
UPDATE room15 
set roomType=999
where roomId=(
select t1.roomId 
from (
select roomId,roomType,roomPeople
from room15
where roomPeople=20
ORDER BY roomId desc 
LIMIT 3) as t1
ORDER BY roomId
LIMIT 1
)

#修改后数据-按roomId升序排序
select roomId,roomType,roomPeople from room15

楼主若觉得回答有所帮助,望采纳,谢谢!

追问

厉害,这个t1是什么,前端还不太懂数据库

追答

t1是给前面那个sql查出来的表取的别名,楼主可以先看看SQL的基础知识

温馨提示:答案为网友推荐,仅供参考
相似回答