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) 
+2

那么,这里有什么问题/错误/问题?你能提供一些样品数据吗? – Tyron78

+0

无法对包含聚合或子查询 –

你并不需要使用多个查询此。只需使用聚合作为数学值。

UPDATE EasyDNNNews 
    SET RatingValue = (SELECT SUM(RatingValue)/COUNT(*) FROM ArticleRating WHERE ArticleID = 6605) 
where ArticleID = 6605 
+0

Sean的表达式执行聚合函数,是否可以编辑更新语句以仅更新WHERE ArticleID是6605.它当前更新表中的所有记录。价值是完美的,但。 –

+0

@MartinMuldoon查看更新。 –

+0

完美。谢谢! –

试试这个:

UPDATE EasyDNNNews 
    SET RatingValue = (SELECT SUM(RatingValue)/COUNT(*) FROM ArticleRating WHERE ArticleID = 6605) 
    WHERE ArticleID = 6605;