Pet*_*ter 2 mysql sql mysql-error-1111 sql-update
想象一下两个表:
t1: id, sum, cnt
t2: id, id_t1, value
Run Code Online (Sandbox Code Playgroud)
我想做这样的查询;
UPDATE t1, t2
SET t1.sum = SUM(t2.value),
t1.cnt = COUNT(*)
WHERE t1.id = t2.id_t1;
Run Code Online (Sandbox Code Playgroud)
查询应更新t1.sum与值的总和t2,其中t1.id=t2.id_t1并t1.count有行存在的计数t1.id=t2.id_t1.
但失败并返回错误: ER_INVALID_GROUP_FUNC_USE: Invalid use of group function
我该怎么办?
UPDATE t1 a
LEFT JOIN
(
SELECT id_t1,
SUM(value) totalSum,
COUNT(*) totalCount
FROM t2
GROUP BY id_t1
) b ON a.ID = b.id_t1
SET a.sum = COALESCE(b.totalSum, 0) ,
a.cnt = COALESCE(b.totalCount, 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1612 次 |
| 最近记录: |