имеются поля: id user_id addresser_id created_at viewed_at group_id message Необходимо вывести по 1 сообщению с каждого group_id с такой сортировкой - внутри группы сортировка по created_at а сами группы с сортировкой по viewed_at, created_at - тоесть приоритет у viewed_at
Полагаю более опытные форумчане смогут написать что-то лучшее, а я подвис на этом вопросе. Получилось так: [sql]SELECT `t1`.* FROM `my_table` AS `t1` JOIN (SELECT `group_id`, MIN(`created_at`) AS `min_created_at` FROM `my_table` GROUP BY `group_id`) AS `t2` ON `t1`.`group_id` = `t2`.`group_id` AND `t1`.`created_at` = `t2`.`min_created_at` ORDER BY `viewed_at`, `created_at`;[/sql] Вроде работает правильно, на сколько я понял задачу. Но, возможно, хрень тормозная получится.