меня вот такой запрос:
SELECT * FROM "product" WHERE id >= 1 AND shop_id = 28 ORDER BY id ASC LIMIT 10
но что если у меня нет id-шников с 1 по 1000, а начинаются с 1000 и дальше, затем нет с 3000 по 5000,
это реализация моей пагинации id >= 1 LIMIT 10
но вот проблема такая, что если у меня пробелы в id-шниках
Как можно решить эту ситуацию?
Зачем?
есть id-шники 1,2,3,4,5,6,7,8,9 мы удалили 3,4,5 осталось 1,2,6,7,8,9 но для моей задачи это просто не нужно!
И какая разница если вы их только сортирует
у меня есть на это дело натянуто API, где определяют id и limit, поэтому в id не должно быть пробелов, ломается логика приложения
id не должно меняться никогда не очень понятно что плохого случится с логикой приложения (пейджингом) если ид будут с пробелами, вы же задаёте min_id и limit
при каждом запросе задается min_id, min_id это id последней записи с предыдущей страницы, а если у меня id-шники начиются с 3000, а задали 1, 2, 3, все эти страницы будут иметь одинковые записи
с чего бы вот вы запросили первую страницу, пришли записи с ид 1, 2, 3. 10, 50, 70, 1000, 2001, 3007, 5643 последний - 5643 следующая страница будет с id > 5643, там не будет этих записей
Меняйте логику приложэния. (Срочно). На самом деле -- я не представляю, как у вас получились какие-то проблемы (это довольно нетривиально сделать в вашэй схеме. Возможно, вы ошыбаетесь.) -- но логику приложэния, которая ломается от пропусков sequence надо менять.
Обсуждают сегодня