2015-02-23 15 views
-1

對不起,對於標題,因爲我沒有那麼經驗,我真的很難試圖想出一個正確的標題。只有具有特定編號的限制行

所以我有這個查詢來獲取特定主題的所有評論。 現在我的分頁我想限制爲20行,但只適用於pid(parent_id)爲零的文章。

SELECT *, c.id AS cid, u.id AS userid 
FROM comments c 
INNER JOIN users u ON u.id = c.uid 
WHERE c.tid = :id ORDER BY c.posted ASC LIMIT 20 

我該如何限制職位20 WHERE pid = 0而不刪除pid = 1的每一行?

如果我添加:

WHERE c.tid = :id AND c.pid = 0 

我就沒有拿到一個pid的所有意見。

例如,它顯示100條評論,但只有20條在數據庫中有pid = 0。這就是我想要的。

+0

我真的無法理解你想要什麼。你說'沒有刪除pid = 1的每一行?'然後你說'但只有20在數據庫中有pid = 0。這就是我想要的。 – Sharky 2015-02-23 17:01:23

+0

'SELECT *,c.id ...'???你爲什麼選擇一些列兩次? – Strawberry 2015-02-23 17:09:36

+0

@Strawberry也許他的處理代碼與他正在設置的別名名稱一起工作...或某事 – Sharky 2015-02-23 17:16:01

回答

0

也許可以用一個工會在這裏取兩組:

SELECT *, c.id AS cid, u.id AS userid 
FROM comments c 
INNER JOIN users u ON u.id = c.uid 
WHERE c.tid = :id 
AND pid != 0 
ORDER BY c.posted ASC 
LIMIT // whatever limit you want here 
UNION 
SELECT *, c.id AS cid, u.id AS userid 
FROM comments c 
INNER JOIN users u ON u.id = c.uid 
WHERE c.tid = :id 
AND pid = 0 
ORDER BY c.posted ASC 
LIMIT 20