Можно ли получить запись в таблице в зависимости от номера строки?
Например, у меня есть таблица с 40 записями, и мне нужно получить 27-ю запись. Мне нужен запрос типа SELECT * FROM my_table WHERE **ROWNUM** = 27
.
Можно ли получить запись в таблице в зависимости от номера строки?
Например, у меня есть таблица с 40 записями, и мне нужно получить 27-ю запись. Мне нужен запрос типа SELECT * FROM my_table WHERE **ROWNUM** = 27
.
Если я вас правильно понял, вы ищете что-то подобное?
SELECT *
FROM some_table t
where @row = 26;
Вы ищете offset
:
select t.*
from my_table t
order by ??? -- you need to specify a column or expression here
limit 1 offset 26;
Две заметки. 27-й строки таблицы не существует. Таблицы SQL представляют собой неупорядоченные наборы. Порядок существует только в том случае, если в столбце указан порядок. Это цель order by
. Часто это может быть первичный ключ таблицы.
Во-вторых, смещение (в отличие от большинства вещей в SQL) отсчитывается от нуля. Таким образом, смещение «1» означает «пропустить одну запись» или «начать со второй». Отсюда смещение «26».
ROWNUM
, специфичнымOracle
. - person Yogesh Sharma   schedule 21.05.2018