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

Тема в разделе "Базы данных", создана пользователем droit74, 6 июн 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. droit74

    droit74 Постоялец

    Регистр.:
    20 сен 2009
    Сообщения:
    55
    Симпатии:
    0
    как обратиться к таблице по номеру строки ??
    есть таблица
    +-------+-------+
    |name_|post_|
    +-------+-------+
    |*****|4____|
    |*****|5____|
    +-------+-------+
    например нам нужно вывести второю строку.
     
  2. zerdek

    zerdek

    Регистр.:
    29 ноя 2007
    Сообщения:
    346
    Симпатии:
    50
    select * from table1 order by post asc limit 2,1
     
  3. AdMeen

    AdMeen Создатель

    Регистр.:
    19 май 2010
    Сообщения:
    13
    Симпатии:
    0
    Вообще в бд записи хранятся в произвольном порядке, так что лучше использовать ключ, по которому уже и обращаться.
    Пример:
    id | Name | Post |
    1 * *
    2 * *

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

    SELECT * FROM db_name WHERE id=`5` LIMIT 1
     
  4. zerdek

    zerdek

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

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

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    zerdek, все верно, за исключением того что сортировка не обязательна. тс интересовался как выбрать вторую строку в любом запросе, думаю он уже давно понял что это делается лимитом 2 по 1
     
  6. zerdek

    zerdek

    Регистр.:
    29 ноя 2007
    Сообщения:
    346
    Симпатии:
    50
    как раз сортировка обязательна.
    ключ может быть любым, но он должен быть, т.к. выполнив два раза подряд один и тот же запрос без сортировки, мы можем получить разный результат(порядок строк может быть любым)
     
  7. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    по моему при отсутствии явно заданного ключа, строки идут в порядке вставки. зачем там дополнительная сортировка?
     
  8. zerdek

    zerdek

    Регистр.:
    29 ноя 2007
    Сообщения:
    346
    Симпатии:
    50
    ни один sql сервер не гарантирует этого.
     
  9. sage.scs

    sage.scs Создатель

    Регистр.:
    1 фев 2009
    Сообщения:
    10
    Симпатии:
    0
    всё таки ключи с identity лучше юзать
     
Статус темы:
Закрыта.