2013-07-10 46 views
0

基本上我有一個產品評論表。屬性是reviewID,reviewCustName,reviewText,productID。所以我不知道是否有任何方法來計算大多數評論的產品?這是我的SQL語句:SQL聲明最大(計數(*))

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

我想知道是否有可能編寫這樣的SQL語句?或者我有更好的辦法嗎?

在此先感謝。

+0

可能重複 - 這是最大顯示條目一個計數?](http://stackoverflow.com/questions/5159928/sql-displaying-entries-that-are-the-max-of-a-count) – Thilo

回答

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

+0

但我只需要大多數評論的產品。所以我認爲我需要Max()? –

+0

如果您只需要頂部1,則添加一個「限制1」。 – apartridge

+0

噢好吧好吧。非常感謝。 –

2

您可以使用以下來獲得結果。這得到了總數爲每個產品,但是當你在一個降序排序計數和應用LIMIT 1它只返回與大多數評論產品:

select count(*) total 
from sm_review 
group by productId 
order by total desc 
limit 1 
[SQL的
+0

好的,非常感謝。我會測試它 –