|
Как найти страницу где есть запись при OFFSET и LIMIT (постраничная навигация)?
|
|||
---|---|---|---|
#18+
Есть таблица данных где выводятся записи по 10 строк на страницу (постраничная навигация). Нужно, зная id конкретной записи, узнать на какой странице находится эта запись. и запросить её. То есть какой OFFSET выставить чтобы эта запись точно попала в запрос. Код: sql 1. 2.
Вот как узнать номер страницы или смещения OFFSET для id=17 где в запрос попадёт эта запись с id 17? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2018, 17:42 |
|
Как найти страницу где есть запись при OFFSET и LIMIT (постраничная навигация)?
|
|||
---|---|---|---|
#18+
manking, подсчитайте число строк, у которых id меньше (больше) заданного, это и будет порядковый номер записи (если предполагать что у вас сортировка по id, в запросе она не указана). такой вариант с большим числом страниц конечно быстро работать не будет, но там без ухищрений каких-то не обойтись для такой задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2018, 21:25 |
|
Как найти страницу где есть запись при OFFSET и LIMIT (постраничная навигация)?
|
|||
---|---|---|---|
#18+
Alexiusmanking, подсчитайте число строк, у которых id меньше (больше) заданного, это и будет порядковый номер записи (если предполагать что у вас сортировка по id, в запросе она не указана). такой вариант с большим числом страниц конечно быстро работать не будет, но там без ухищрений каких-то не обойтись для такой задачи. А есть примеры запросов? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2018, 10:41 |
|
Как найти страницу где есть запись при OFFSET и LIMIT (постраничная навигация)?
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2018, 16:36 |
|
Как найти страницу где есть запись при OFFSET и LIMIT (постраничная навигация)?
|
|||
---|---|---|---|
#18+
В обратную сторону: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
По произвольному полю (например name): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
При сортировке не по id на больших таблицах будут тормоза. Лучше будет разбить на 2 запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2018, 16:53 |
|
|
start [/forum/topic.php?fid=53&msg=39587244&tid=1995993]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 155ms |
0 / 0 |