кАК пОЛУЧИТЬ пЕРВОЕ и пОСЛЕДНЕЕ зНАЧЕНИЕ?

Romantik

TeaM PHPClub
кАК пОЛУЧИТЬ пЕРВОЕ и пОСЛЕДНЕЕ зНАЧЕНИЕ?

Добрый день!
Вот не пойму, как попроще сделать:
Делаю запрос и нужно получить первую и последнюю строчку из базы за данный период.
SELECT id FROM table WHERE date>=$date1 AND date<=$date2
необходимо первое id и последнее id
Кто знает- подскажите.
Заранее благодарен.
 

DiMA

php.spb.ru
Команда форума
SELECT max(id),min(id) FROM table WHERE date>=$date1 AND date<=$date2

если ID упорядочены по дате (если таблицу не редактируют, а только добавляют/удаляют)
 

Romantik

TeaM PHPClub
а других вариантов нет?

Автор оригинала: DiMA
если ID упорядочены по дате (если таблицу не редактируют, а только добавляют/удаляют)
Спасибо, Дима!
Но бывает, что дату редактируют... :(
наверное прийдется 2 запроса делать:
на первую дату и на вторую...
вторую дату понятно- последнее значение, а на первую дату первое и в цикле break.
Я правильно мыслю? Других вариантов нет?
 

RomikChef

Guest
Re: а других вариантов нет?

Автор оригинала: Romantik
Спасибо, Дима!
Но бывает, что дату редактируют... :(
наверное прийдется 2 запроса делать:
на первую дату и на вторую...
вторую дату понятно- последнее значение, а на первую дату первое и в цикле break.
Я правильно мыслю? Других вариантов нет?
1 SELECT id FROM table WHERE date>=$date1 AND date<=$date2 order by date limit 1
2 SELECT id FROM table WHERE date>=$date1 AND date<=$date2 order by date desc limit 1

короче, order by то, что тебе нужно.
А дима ответил 100% на твой вопрос. первое и последнее ид.
А если тебе надо ид первого и последнего (по дате) сообщения, то это совсем другое. И так и надо писать. Верно сформулировав задачу, ты бы и сам мог ее решить.
 

DiMA

php.spb.ru
Команда форума
su1d, есть, читай выше сообщение, внимательный ты наш
 
Сверху