2011-07-19 42 views
-1

計數數字比方說,我有這個數據庫(作爲一個例子)MySQL的 - 通過ID

enter image description here

不管怎麼說,我希望做一個「最喜歡」的問題部分,但「喜歡」是在一個不同的數據庫表,因此likes。無論如何,我有id的問題是在question_id同樣的事情......但是..我如何計算他們在MYSQL查詢?

謝謝。

+0

你應該建立一個你試過的查詢。你想要一個實際的計數?或者你只是需要類似的ID? –

回答

2

怎麼樣使用你的表之間的inner join,關於這個問題的ID的group by

select question.id, question.question_title, count(*) as num_likes 
from question 
    inner join likes on likes.question_id = question.id 
group by question.id 
order by count(*) desc 
limit 0, 10 

這應該讓你的10個最喜歡的問題,用,對於那些中的每一個,它被喜歡的次數。

+0

使用'INNER JOIN'可以在沒有投票時顯示任何內容。 – rabudde

+0

true;但我認爲沒有喜歡的問題根本不是喜歡的問題 - 直到OP使用「內部」或「左」連接,這取決於他喜歡什麼;謝謝你指出:-) –

+0

當然,你是正確的,沒有喜歡的問題不屬於最喜歡的問題:)但我更喜歡(當設置一個新的Web應用程序),沒有空盒子( Google喜歡內容^^) – rabudde

1
SELECT x.id,x.question_title,x.desc,x.category,COUNT(*) AS likes FROM question x LEFT JOIN likes y ON x.id=y.question_id GROUP BY x.id,x.question_title,x.desc,x.category ORDER BY COUNT(*) DESC