使用mysql很容易获得一个页面(比方说20)的线程。但是,我想推高胶粘物。什么是最好的方法呢?我认为的一种方法是使用两个查询,第一个获取粘性(如果在第一页上)下一个常规查询,不包括粘性物。但是我仍然需要减去胶粘物的数量,所以我似乎每次都需要进行两次查询。
我也可以写一个可能更好的但可能需要一个不好的子查询?我实际上不确定如何写这个
我确定有一个很好的方法,但我对mysql不太了解所以你们有什么建议?
答案 0 :(得分:1)
您需要相应地修改WHERE子句和顺序:
SELECT
fields
FROM
threads
WHERE
forum_id = X
and
(
sticky = 1
OR (other conditions if needed)
)
ORDER BY
sticky, something, somethingElse
LIMIT 0, 25
由于订购,这实际上会在第一页以外的页面上起作用。