Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / помогите с выборкой / 10 сообщений из 10, страница 1 из 1
07.05.2004, 17:22
    #32511044
labadiena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с выборкой
предположим есть такой запрос:

SELECT *
FROM dt_any
WHERE id = 3566

задача в том что б получить одну предыдущую запись перед этой, с айди 3566

как это сделать, подскажите пожалуйста
...
Рейтинг: 0 / 0
07.05.2004, 17:33
    #32511059
labadiena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с выборкой
я предпологаю что так, но может я ошибаюсь
SELECT *
FROM dt_any
WHERE id < 3566
LIMIT 1
...
Рейтинг: 0 / 0
07.05.2004, 17:36
    #32511064
labadiena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с выборкой
так я и думал
вытаскивает первую запись

как быть ???
...
Рейтинг: 0 / 0
07.05.2004, 18:28
    #32511135
labadiena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с выборкой
постораюсь по понятней

зная конкретный номер id (например 3566), нужно получить (при выплнении пхп скрипта) записи из поля стоящего перед записью с id 3566 (возможно 3565, если до этого никакие записи не удолялись)
...
Рейтинг: 0 / 0
07.05.2004, 18:39
    #32511151
labadiena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с выборкой
SELECT *
FROM dt_any
WHERE id < 3566
ORDER BY id DESC
LIMIT 1
...
Рейтинг: 0 / 0
07.05.2004, 19:34
    #32511214
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с выборкой
В таблице данные неупорядочены. Нет первой записи, нет последней записи, после записи с ID = XXX никакая запись не стоит и перед ней нет никакой записи.
Вообще таблицы (теорию тоже надо учить) - это множества записей. А множества по своему определению неупорядочены.
Но программист может упорядочить выборки (результаты SELECT-запросов).

Обычно когда сортируют по ID - это ошибка проэктирования БД (ИМХО).
ID - это уникальный идентификатор, а не порядковый номер
...
Рейтинг: 0 / 0
08.05.2004, 14:17
    #32511445
labadiena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с выборкой
спасибо,
обязательно приму к сведенью
...
Рейтинг: 0 / 0
08.05.2004, 14:25
    #32511450
labadiena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с выборкой
и Ваше решение???
забыл спросить...
...
Рейтинг: 0 / 0
08.05.2004, 17:12
    #32511527
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с выборкой
ну решение здесь зависит от задачи.
В общем случае ИМХО стоит избегать запросов типа
SELECT * FROM tab
и четко указывать по какому полю/полям происходит сортировка
Часто вместо используемвой тобой сортировки по ID можно использовать сортировку по времени добавления записи в таблицу
...
Рейтинг: 0 / 0
10.05.2004, 10:44
    #32511935
labadiena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с выборкой
понятно, хорошее предложение ....

просто база была смоделирована и вней есть поле с временем добавления, но оно меняется на одну секунду гдето через 5000 записей ... считаю это упущением, надо подправить ...
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / помогите с выборкой / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]