基本上我有一个产品评论表。属性是 reviewID、reviewCustName、reviewText、productID。所以我想知道有什么方法可以计算评论最多的产品吗?这是我的 SQL 语句:
SELECT productID, count(*) AS mostReviews, MAX(mostReviews) FROM sm_review GROUP BY productID;
我想知道是否可以编写这样的 SQL 语句?还是我有更好的方法?
提前致谢。
您可以使用以下内容来获得结果。这将获取每个产品的总计数,但是当您按降序订购计数并应用LIMIT 1
它时,它只返回评论最多的产品:
select count(*) total
from sm_review
group by productId
order by total desc
limit 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
它限制了结果的数量。