ФорумРазработкаБазы данных → select id from news order by date_start desc, id desc

select id from news order by date_start desc, id desc

  • sweet15w

    Сообщения: 139 Репутация: N Группа: Кто попало

    Spritz 6 декабря 2010 г. 1:27

    select id from news order by date_start desc, id desc

    есть следующий запрос… который выводит новости… в отсортированном порядке… ( по дате по убыванию, по айди по убыванию… )

    есть переменная (айди текущей новости $item_id)… как из данного запроса узнать айди предыдущей новоссти и айди следующей новости…

    пробую так:

    select id from news where id>'$item_id' order by date_start desc, id desc limit 0, 1
    select id from news where id<'$item_id' order by date_start desc, id desc limit 0, 1

    но в данном случае он сначала отсекает айди, которые меньше (больше)… а потом сортирует, а мне необходимо как бы сначала отсортировать, а потом уже из результирующего значения отсечь айди которые больше или меньше…
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz 6 декабря 2010 г. 3:54, спустя 2 часа 27 минут 2 секунды

    а зачем сортировать ? у вас четкое разделение по id - следующая-предыдущая
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 6 декабря 2010 г. 4:24, спустя 30 минут 14 секунд

    sweet15w, со своего первого отсортированного запроса строишь массив с id записей.
    После этого получаешь нужную тебе id, а "вперед/назад" получаешь изменением индекса массива на один в большую и меньшую сторону.
  • adw0rd

    Сообщения: 22914 Репутация: N Группа: в ухо

    Spritz 5 января 2011 г. 4:55, спустя 30 дней 30 минут

    но в данном случае он сначала отсекает айди, которые меньше (больше)… а потом сортирует, а мне необходимо как бы сначала отсортировать, а потом уже из результирующего значения отсечь айди которые больше или меньше…

    вложенные селекты, having
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!