我正在为我们的商业网站建立一个星级评分系统,我很难过。我可以得到平均星数没问题。但我想要的是它只给我平均值 如果特定产品有超过5个提交的评级 。默认情况下,数据库将所有内容设置为0.因此人们只能在1-5星之间进行评分。到目前为止,我有平均值:
SELECT
AVG(CAST(review_rating AS numeric(12, 2))) AS avg_rating, ProductID
FROM
TBLReviews
WHERE
review_rating <> 0
GROUP BY
ProductID
HAVING
(AVG(review_rating) <> 0)
感谢您提供任何帮助!
答案 0 :(得分:0)
您需要添加一个简单的条件:
SELECT AVG(CAST(review_rating AS numeric(12, 2))) AS avg_rating,
ProductID
FROM TBLReviews
WHERE review_rating <> 0
GROUP BY ProductID
HAVING AVG(review_rating) <> 0
AND COUNT(*) > 5;