导致此错误的原因是什么?:
无效使用群组功能
以下是导致错误的sql代码:
$sql_data = "UPDATE `database1`.`users` SET `balance` = MIN(`balance` + 5)
WHERE ('" . $session->value('user_id') . "') ";
答案 0 :(得分:1)
聚合函数需要由GROUP BY
子句引起的聚合。没有一个,查询无效。
答案 1 :(得分:1)
试试这个
$sql_data = "UPDATE `database1`.`users` SET `balance` = MIN(`balance`) + 5
WHERE ('" . $session->value('user_id') . "') "
答案 2 :(得分:0)
不知道错误是什么,我假设它来自MIN(balance + 5)
。我认为你的意思是MIN(balance) + 5
- MIN应该只采用列名,而不是算术表达式。
答案 3 :(得分:0)
我认为这就是你要找的东西:
UPDATE database1.users a
INNER JOIN
(SELECT id, MIN(balance)
FROM database1.users
WHERE user_id= ('" . $session->value('user_id') . "')
GROUP BY id
) b
ON a.id = b.id
WHERE user_id = ('" . $session->value('user_id') . "');