mysql - 增加序列号最大的列的值

标签 mysql sql

我有一个表(table_name),其中的列是 Sno,count。计数的默认值为 1。 如果想增加 Sno 所在的计数列的值,比如 1..

UPDATE table_name SET count=count+1 where Sno=1;

有效!!!

但是如果我想在 Sno 为 Max 的情况下增加 count 的值怎么办?

Sno  count
 1    2
 2    1

基本上我需要帮助来创建 :

UPDATE table_name SET count=count+1 where Sno=1;

&

select MAX(Sno) from table_name;

最佳答案

使用以下内容:

UPDATE table_name t1 
INNER JOIN (SELECT MAX(t2.Sno) AS max_Sno 
            FROM table_name t2) AS t3 ON t3.max_Sno = t1.Sno 
SET t1.count = t1.count + 1;

关于mysql - 增加序列号最大的列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52166460/

相关文章:

php - 按时间顺序从不同表中获取帖子

mysql - 用于搜索 value1 或 value 2 或两者的 SQL 查询,如果两者都不返回全部

c# - 如何在 Linq 中使用 Sum()?

java - 在 mysql 中存储文件路径会丢弃 "\"

php - 如果 mySQL 行为空,if else 语句不返回任何值?

php - 如何使用我的本地 IP 地址而不是使用 localhost 访问我的数据库 mysql 服务器

php - MySQL 查询 - 在结果中生成数组

Python - MySQL 连接器语法错误

mysql - 用于检测不变值的高级 SQL 语句 - MySQL

php - 数据库设计选择