HAVING max(date)

darkersoul
Дата: 09.01.2013 01:10:49
Тыкался тыкался, искал искал, так и не понял почему не работаеьт. Подскажите пожалуйста!
Мне нужно чтобы из строк со stamp за 9 января была выбрана самая поздняя, а он выбирает самую раннюю.

скрин части самой таблицы http://awesomescreenshot.com/0a6s6lgf2
скрин запроса и ответа http://awesomescreenshot.com/094s6lq0b
Stupid_BOT
Дата: 09.01.2013 02:01:57
darkersoul,
ничего, что за восьмое января тоже не "самая поздняя" выбирается ?
qwerty112
Дата: 09.01.2013 02:03:04
darkersoul,

и скрин, и текст запроса - можно выкладывать на форум,
за это - не банят
---

условие так и выглядит
HAVING max(date)  

?
оно всегда True, если дата не 0

---
автор
Мне нужно чтобы из строк со stamp за 9 января была выбрана самая поздняя

order by stamp desc limit 1
Stupid_BOT
Дата: 09.01.2013 02:08:41
qwerty112,
мне ущё простительно ( из-за ника ) х-ню советовать...
Stupid_BOT
Дата: 09.01.2013 02:10:03
*Ещё
Stupid_BOT
Дата: 09.01.2013 02:28:32
darkersoul,
Ваш запрос аналогичен такому:
select {поля}
from update_log
where stamp is not null
group by date
order by stamp;
-- т.е. на каждую дату в логе выбрать одну ( первую попавшуюся! ) запись с непустым полем stamp 
-- и отсортировать полученный набор записей по полю stamp.

+

-- как кариант, для фильтрации можно использовать соединение с запросом-фильтром
-- !! при условии, что по полю stamp есть уникальный индекс
select u.stamp, date_format(u.stamp, '%Y %m %d') date, u.log
from update_log u
  join ( select max(stamp) mstamp from update_log group by date_format(stamp, '%Y %m %d') ) f
  on u.stamp = f.mstamp;
darkersoul
Дата: 09.01.2013 02:46:00
Спасибо огромное, Бот! Я надеялся без джоинта и подселектов обойтись, но видно так не получится. Но главное работает!