SQL和我有两个表采用一对多的关系
comments
------------------
id text
rates
---------------------
id comment_id score
我的查询......但和操作不会受到影响。只有一行会被修复。
SELECT *, SUM(rates.score) FROM comment LEFT JOIN rate ON (rate.comment_id = comment.id)
SQL和我有两个表采用一对多的关系
comments
------------------
id text
rates
---------------------
id comment_id score
我的查询......但和操作不会受到影响。只有一行会被修复。
SELECT *, SUM(rates.score) FROM comment LEFT JOIN rate ON (rate.comment_id = comment.id)
SELECT comment.*, SUM(rates.score) FROM comment LEFT JOIN rate ON (rate.comment_id = comment.id)
GROUP BY comment.id
尝试by子句添加组:
SELECT comment.*, SUM(rates.score) FROM comment LEFT JOIN rate ON rate.comment_id = comment.id GROUP BY rates.comment_id;
您当前的查询会简单地总结所有意见的评级。你必须做什么是合并GROUP BY
这将组聚合,每个评论,的SUM()
将这样的结果只会是收视率的总和为每个特定的评论:
SELECT a.*, SUM(b.score) AS ratingsum
FROM comment a
LEFT JOIN rate b ON a.id = b.comment_id
GROUP BY a.id