你好,我有这样的表:
表格条目:
编号 |总评论数
____________________
1 | 0
2 | 0
3 | 0
4 | 0
表格注释:
编号 |开斋节 |评论
____________________
1 | 1 |评论 sdfd
2 | 1 |测试测试
3 | 1 |评论文字
4 | 2 |虚拟评论
5 | 2 |示例评论
6 | 1 | fg fgh dfh
我写的查询:
UPDATE entry
SET total_comments = total_comments + 1
WHERE id IN ( SELECT eid
FROM comments
WHERE id IN (1,2,3,4,5,6))
我得到的结果是:
表格条目:
编号 |总评论数
____________________
1 | 1
2 | 1
3 | 0
4 | 0
预期结果:
表格条目:
编号 |总评论数
____________________
1 | 4
2 | 2
3 | 0
4 | 0
我们将不胜感激。
最佳答案
使用:
UPDATE entry
SET total_comments = (SELECT COUNT(*)
FROM COMMENTS c
WHERE c.eid = id
GROUP BY c.eid)
WHERE id IN ( SELECT eid
FROM comments
WHERE id IN (1,2,3,4,5,6))
关于MYSQL UPDATE 与 IN 和子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2993110/