
#sql #bazydanych #programowanie #postgresql
Próbuję wdrożyć pagination oparty na metodzie „keyset”, zamiast tradycyjnie „offset”.
Wszystko jest jasne dopóki strony idą do przodu np:
Ale co zrobić gdy użytkownik się cofa? Teoretycznie mogę odwrócić znak większości i zmienić DESC na ASC, ale wtedy otrzymuję wyniki w odwrotnej kolejności. Da się to jakoś lepiej zrobić?
Próbuję wdrożyć pagination oparty na metodzie „keyset”, zamiast tradycyjnie „offset”.
Wszystko jest jasne dopóki strony idą do przodu np:
SELECT * FROM users WHERE id > 1500 ORDER BY ID LIMIT 10.Ale co zrobić gdy użytkownik się cofa? Teoretycznie mogę odwrócić znak większości i zmienić DESC na ASC, ale wtedy otrzymuję wyniki w odwrotnej kolejności. Da się to jakoś lepiej zrobić?

- Najlepsze
- Wszystkie komentarze






WHERE id < 1500 ORDER BY id ASC LIMIT 10. I to zadziała, zwróci mi 10 właściwych rekordów, ale w odwrotnej kolejności niż bym szedł do przoduselect * from (
select SELECT * FROM users WHERE id < 1500 ORDER BY ID DESC LIMIT 10
) as pusr
order by pusr.id asc;