2012-01-19 68 views
2

我有一個保存註釋的mysql表。註釋可以有子註釋,但只有一個級別(有一個可選的「父級」屬性,並且註釋的父級不能擁有它自己的父級)。我想分頁這樣的數據,這樣的:「靈活」的MySQL限制

拿第一,說10頂層的意見(與頁偏移)可用,以及它們的子評論,在哪裏。

明顯的解決方案是獲取10條評論,然後是他們的子評論與IN條款,但我覺得這是做錯的方法(或者至少有更好的方法)。

有沒有更好的方法來實現這一目標?

回答

0

我覺得IN子查詢可能會是你最好的選擇:

SELECT whatever FROM comments_table c 
WHERE c.id IN (SELECT id FROM comments_table c2 WHERE some_criteria_here LIMIT 10) 
OR c.parent_id IN (SELECT id FROM comments_table c2 WHERE some_criteria_here LIMIT 10) 
+0

是的,這就是我腦子裏想在第一,但我希望有一個更好的解決方案 –