2015-12-18 104 views
2

這裏獨特的是一個例子:選擇與限制

sql and result

正如你可以看到,前4條記錄有相同數量的topic_id。我如何獲得唯一topic_id的最後10條記錄?

謝謝。

PS正確的結果,例如:

id  user_id topic_id ... 
306114 14331  26164  ... 
306110 14331  27001  ... 
306109 14331  26660  ... 
...  ...  ...  ... 
+0

使用不同與列 –

+2

首先,你需要定義由您選擇的所有條目具有相同'topic_id'所需的條目的規則。然後在標籤下搜索解決方案[標籤:最大每個組] – axiac

+1

axiac - 是你刪除第二個答案:)?帶子查詢的SQL就是這樣的! - 選擇*從表中的WHERE posts.id IN(SELECT MAX(ID)FROM my_forum_posts GROUP BY topic_id)... –

回答

0
SELECT posts.id, posts.user_id, posts.text, posts.topic_id, posts.updated_at, topics.name as topic_name, topics.forum_id FROM my_forum_posts AS posts 
         ... 
         WHERE posts.id IN (SELECT MAX(id) FROM my_forum_posts GROUP BY topic_id) 
         ORDER BY posts.id DESC LIMIT 10