SQL查询将不会执行。无法执行汇总功能
我已经看到有关此问题的其他帖子,但不清楚如何解决该问题。SQL查询将不会执行。无法执行汇总功能
我相信上次更新声明是问题所在。我正在尝试更新RatingValue,这是评分总和除以评分数量的总和。
DELETE
FROM EasyDNNNewsComments
WHERE CommentID = 168
DELETE
FROM ArticleRating
WHERE ArticleID = 6605 AND UserID = 10
UPDATE EasyDNNNews
SET NumberOfComments = (NumberOfComments - 1)
WHERE ArticleID = 6605
UPDATE EasyDNNNews
SET RatingValue = SUM((SELECT RatingValue
FROM ArticleRating
WHERE ArticleID = 6605))/
(SELECT COUNT(*)
FROM ArticleRating
WHERE ArticleID = 6605)
你并不需要使用多个查询此。只需使用聚合作为数学值。
UPDATE EasyDNNNews
SET RatingValue = (SELECT SUM(RatingValue)/COUNT(*) FROM ArticleRating WHERE ArticleID = 6605)
where ArticleID = 6605
Sean的表达式执行聚合函数,是否可以编辑更新语句以仅更新WHERE ArticleID是6605.它当前更新表中的所有记录。价值是完美的,但。 –
@MartinMuldoon查看更新。 –
完美。谢谢! –
试试这个:
UPDATE EasyDNNNews
SET RatingValue = (SELECT SUM(RatingValue)/COUNT(*) FROM ArticleRating WHERE ArticleID = 6605)
WHERE ArticleID = 6605;
那么,这里有什么问题/错误/问题?你能提供一些样品数据吗? – Tyron78
无法对包含聚合或子查询 –