基本上我有一个产品评论表。属性是reviewID,reviewCustName,reviewText,productID。所以我想知道有什么方法可以用大多数评论来计算产品吗?这是我的SQL语句:
SELECT productID, count(*) AS mostReviews, MAX(mostReviews) FROM sm_review GROUP BY productID;
我想知道是否可以编写这样的SQL语句?或者我有更好的方法吗?
提前致谢。
答案 0 :(得分:2)
您可以使用以下方法获取结果。这会获得每种产品的总数,但是当您按降序排序并应用LIMIT 1
时,它只返回评价最多的产品:
select count(*) total
from sm_review
group by productId
order by total desc
limit 1
答案 1 :(得分:1)
应该是;
SELECT count(*) AS num_reviews FROM sm_review
GROUP BY productID ORDER BY num_reviews DESC LIMIT 1;
请注意限制结果数量的ORDER BY num_reviews
和LIMIT 1
。