MySQL:使用 Group By 更新字段

标签 mysql sql

这是一个例子:

表 mysql 架构:

 id   name   salary
 1    david   20 
 2    jack    30
 3    david   10 

查询:


$sql = "UPDATE table SET salary = salary  + 5 WHERE name = 'david' ";

我想添加 Group By name 以避免重复更新 david 我该怎么做?

最佳答案

尝试使用 LIMIT,它是 MySQL 使用的 SQL 的扩展:

$sql = "UPDATE table SET salary = salary  + 5 WHERE name = 'david' 
        ORDER BY id LIMIT 1";

使用 GROUP BY 没有任何意义,因为更新组中的第一行、最后一行或所有行是不明确的。 MySQL 不支持 UPDATE 语句中的 GROUP BY 子句。

关于MySQL:使用 Group By 更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7151774/

相关文章:

java - 如何将列表转换为UpdatableRecord?

php - 将值添加到文件中的数组并保存

sql - 更改现有的标识列增量值

mysql - 给定的数据类型 enum() 包含错误 mysql

php - 计算数组中值的数量

mysql - MySQL 的线性方程函数?

sql - postgresql 语法 while exists 循环

MySql安装数据库初始化报错

mysql - 在 phpMyAdmin 中将行插入表的代码

mysql - 组中 where 子句中的最小值使用 Row_Number() 而非 order by