SQL语句Max(Count(*))

时间:2013-07-10 23:53:34

标签: mysql sql

基本上我有一个产品评论表。属性是reviewID,reviewCustName,reviewText,productID。所以我想知道有什么方法可以用大多数评论来计算产品吗?这是我的SQL语句:

SELECT productID, count(*) AS mostReviews, MAX(mostReviews) FROM sm_review GROUP BY productID;

我想知道是否可以编写这样的SQL语句?或者我有更好的方法吗?

提前致谢。

2 个答案:

答案 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_reviewsLIMIT 1