Это то, что я знаю:
Я могу использовать WHERE
для выбора диапазона item_id
по моему выбору (например, если мой «средний» элемент - item_id = 8, я бы поставил: WHERE item_id >= 5 AND item_id <= 10
). Но есть сценарий, в котором я буду получать элементы из определенной категории, и это приведет к тому, что item_id
выйдет за пределы диапазона (например, item_id = 1,5,9,14,22,27,31,39
), и мой текущий WHERE statement
больше не будет работать.
есть ли способ выбрать элементы в диапазоне без использования их item_id
, а просто их номера строки в базе данных. (ie. Если у меня item_id = 22
в качестве середины, я могу выбрать item_id = 9,14,22,27,31
на основе приведенного выше примера.)
Кажется, я не могу найти существующий ответ, который подходит для моей проблемы, поэтому Я разместил этот вопрос. Заранее спасибо!
РЕДАКТИРОВАТЬ
and my current WHERE statement will no longer work.
если у меня есть элементы с 1 по 40, и я выбираю элемент 8 как средний, у меня будет оператор WHERE, например это:
примечание: это написано в java, используя preparedStatement
original database:
item 1
item 2
item 3
item 4
...
item 40
WHERE item_id >= (selectedItem -2) AND item_id <= (selectedItem +2)
output:
item 6
item 7
item 8
item 9
item 10
, но, если у меня есть:
original database:
item 9
item 14
item 22
item 27
item 31
item 40
WHERE item_id >= (selectedItem -2) AND item_id <= (selectedItem +2) // our selectedItem = 22
output:
item 22
// and thats all, because the range is only 20 - 25
, поэтому он выиграл не работает