12
UPDATE a JOIN b ON a.app_id=b.app_id GROUP BY a.app_id SET
remark_avg=AVG(b.score),remark_count=COUNT(b.id);
以上基本上是我想要做的,但它不是一个有效的MySQL语句,如何正确写入它?如何更新MySQL中另一个表的聚合结果的字段?
UPDATE a JOIN b ON a.app_id=b.app_id GROUP BY a.app_id SET
remark_avg=AVG(b.score),remark_count=COUNT(b.id);
以上基本上是我想要做的,但它不是一个有效的MySQL语句,如何正确写入它?如何更新MySQL中另一个表的聚合结果的字段?
UPDATE a
INNER JOIN (SELECT AVG(b.score) avg_score,
COUNT(b.id) cnt_id,
b.app_id
FROM b
GROUP BY b.app_id) x ON x.app_id = a.app_id
SET remark_avg = x.avg_score,
remark_count = x.cnt_id;
什么是“x”等于在这个答案? – alexk 2014-03-08 02:05:06
@alexk:实际上它是一个嵌套的查询别名我错过了,现在修复 – zerkms 2014-03-08 03:50:25