Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Group by выборка самых новых записей
цитата
02/02/09 в 18:44
 Sterx
Код:
select * from $tickets LEFT JOIN $ticket_statuses ON ($tickets.t_id=$ticket_statuses.ts_t_id) LEFT JOIN $users_site ON ($tickets.t_user_id=$users_site.user_id) where ts_user_id='".$user_id."' and (ts_status='active' or ts_status='review') group by t_code desc

возвращает только записи, добавленные первыми среди группы(одинаковый t_code)
а нужно соответственно последние (t_data - timestamp)
цитата
02/02/09 в 19:33
 Corex
По идее вот таким способом должно сработать:
Код:
select $tickets.field1, $tickets.field2, ..., max($tickets.t_data) from $tickets ...


Не знаю к чему t_data относится, но смысл - сделать по этому полю выборку максимальных значений среди группы.
цитата
02/02/09 в 19:38
 Sterx
не работает
цитата
02/02/09 в 20:07
 Sterx
обошелся вложенным запросом
цитата
02/02/09 в 20:22
 Corex
Странно, а должно... Может что-то не так прописал. Это один из приёмов при сортировке до группировки.

http://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row.html

Там же в комментах упоминается ещё вариант джойна таблицы в саму себя.

Можно мини-дамп? А то так сложно сказать...
цитата
02/02/09 в 20:23
 Corex
Упс, опоздал пока копался... icon_smile.gif


Эта страница в полной версии