MYSQL - Найти запись в зависимости от номера строки

0

Можно ли записать таблицу в зависимости от номера строки?

Например, у меня есть таблица с 40 записями, и мне нужно получить 27-ю запись. Мне нужен такой запрос, как SELECT * FROM my_table WHERE **ROWNUM** = 27.

  • 0
    Вы можете, но не с ROWNUM который специфичен для Oracle .
Теги:
select
row-number
rownum

2 ответа

0

Вы ищете 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".

0

Если я правильно вас понял, вы ищете подобное?

SELECT *
    FROM some_table t
    where @row = 26;
  • 0
    Да, мне нужно что-то вроде этого.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню