0
這是我在這裏的第一篇文章,所以如果我違反協議,我很抱歉。將OFFSET和LIMIT單獨應用於結果的小節
我有一個表,爲便於討論,我會打電話T1,該表如下所示:
id -- primary key
fk_id -- foreign key
date_created
我從之前的查詢一組fk_id的。
下面是一個查詢,返回正是我想要的,但使用UNION,而將是非常低效的數百個甚至數千個fk_id的我可能要對搜索:
SELECT *
FROM t1
WHERE fk_id = ?
ORDER BY date_created DESC
LIMIT m, n
UNION
SELECT *
FROM t1
WHERE fk_id = ?
ORDER BY date_created DESC
LIMIT m, n
UNION -- ... for each fk_id
注意,值對於每個UNION,m和n的偏移和極限是相同的。
我想的是,不使用UNION查詢,而是說像
WHERE fk_id IN (?, ?, ?, ...)
但保留LIMIT的每個子集的單獨的應用程序。
「這很瘋狂,但它可能只是工作!」 :-) - 謝謝,我會試一試。 –
感謝你們,錯誤1235(42000)的第二個錯誤:這個版本的MySQL還不支持'LIMIT&IN/ALL/ANY/SOME子查詢',但你的第一個答案是有效的,在WHERE rn> = m和rn
@BillHails。 。 。糟糕,我忘記了MySQL的限制。該語法適用於大多數其他數據庫。 –