MySQL получает смещение с учетом лимита, порядка и идентификатора - PullRequest
0 голосов
/ 05 февраля 2012

У меня есть таблица, которая отображает 10 строк на странице.Теперь, учитывая идентификатор элемента, как я могу получить «страницу», на которой находится элемент?

Другими словами, я ищу смещение (кратное 10), учитывая идентификатор записи.

SELECT * FROM items
WHERE category = "category"
LIMIT ?, 10      <----- TRYING TO FIGURE OUT HOW TO GET ? OFFSET GIVEN ID
ORDER BY id DESC

Ответы [ 2 ]

0 голосов
/ 05 февраля 2012

Попробуйте это:

SET @rownum = 0; 
Select sub.*, 10 * Floor(sub.rownum / 10) as pagenum
from
(
   Select *,  (@rownum:=@rownum+1) as rownum
   from items order by id desc
) sub
where sub.ID = givenID;
0 голосов
/ 05 февраля 2012

Это должно сделать это;

SELECT 10*FLOOR(COUNT(id)/10) FROM items where id < YOUR_ID
...