как обратиться к таблице по номеру строки

Статус
В этой теме нельзя размещать новые ответы.

droit74

Постоялец
Регистрация
20 Сен 2009
Сообщения
55
Реакции
0
как обратиться к таблице по номеру строки ??
есть таблица
+-------+-------+
|name_|post_|
+-------+-------+
|*****|4____|
|*****|5____|
+-------+-------+
например нам нужно вывести второю строку.
 
Вообще в бд записи хранятся в произвольном порядке, так что лучше использовать ключ, по которому уже и обращаться.
Пример:
id | Name | Post |
1 * *
2 * *

и соответсвенно выборка становиться очень проста

SELECT * FROM db_name WHERE id=`5` LIMIT 1
 
Вообще в бд записи хранятся в произвольном порядке, так что лучше использовать ключ, по которому уже и обращаться.
и соответсвенно выборка становиться очень проста
SELECT * FROM db_name WHERE id=`5` LIMIT 1

такой запрос - не жилец.
записи в базу добавляются и удаляются и никто не гарантирует, что id=5 существует в этой базе, как и не гарантировано, что нумерация id идет без пропусков.

поможет запрос, что я приводл выше, применительно к полю id:
select * from table1 order by id asc limit 2,1
 
zerdek, все верно, за исключением того что сортировка не обязательна. тс интересовался как выбрать вторую строку в любом запросе, думаю он уже давно понял что это делается лимитом 2 по 1
 
zerdek, все верно, за исключением того что сортировка не обязательна. тс интересовался как выбрать вторую строку в любом запросе, думаю он уже давно понял что это делается лимитом 2 по 1

как раз сортировка обязательна.
ключ может быть любым, но он должен быть, т.к. выполнив два раза подряд один и тот же запрос без сортировки, мы можем получить разный результат(порядок строк может быть любым)
 
по моему при отсутствии явно заданного ключа, строки идут в порядке вставки. зачем там дополнительная сортировка?
 
ни один sql сервер не гарантирует этого.
 
всё таки ключи с identity лучше юзать
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху