2017-05-24 107 views
1

我在我的數據庫中有一個表,我從這張表中調用主題(topic_id,topic_subject,topic_content,topic_date,topic_cat,topic_comm,topic_by,votes,tags,views,flags),我想回顯 10位頂級用戶(topic_by)與特定社區(topic_comm)中的主題最多(主題最多)。我應該使用哪個PDO查詢?我覺得需要像下面這樣的東西:我應該使用什麼PDO查詢?

$sql = $conn -> prepare("SELECT topic_by WHERE topic_comm=:comm AND (MAX COUNT(topic_id))") 

回答

3

讓我們一步步構建查詢。爲了獲得社區中大多數主題的前10名用戶,您需要計算該社區中每個用戶的主題數量。

SELECT topic_by, COUNT(*) AS total_topic FROM topic 
WHERE topic_comm = :comm GROUP BY topic_by 

然後,你想獲得前10名用戶,你可以使用基本的子查詢和LIMIT。所以最終查詢

SELECT * FROM (
    SELECT topic_by, COUNT(*) AS total_topic FROM topic 
    WHERE topic_comm = :comm GROUP BY topic_by 
) AS t ORDER BY t.total_topic DESC LIMIT 10 
+0

我喜歡你一步一步的解釋。 +1 –

相關問題