[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: [MySQL] Выборка наибольшего элемента из группы.
Vladok
Имеется запрос:
SELECT * FROM `admin` GROUP BY ORDER BY `date` DESC LIMIT 1000

Добавляю GROUP BY:
SELECT * FROM `admin_log` GROUP BY admin_log.id ORDER BY `date` DESC LIMIT 1000


Подскажите как можно исправить запрос, чтобы из каждой группы вывести значение максимального элемента по дате.
(т.е группировка по id а выводить id из группы с максимальной датой)

PS:
структура БД.
CREATE TABLE IF NOT EXISTS `admin_log` (
`log_type` int(5) NOT NULL,
`id` int(11) NOT NULL,
`admin` text CHARACTER SET utf8 NOT NULL,
`comment` text CHARACTER SET utf8 NOT NULL,
`date` date NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;




Спустя 40 минут, 2 секунды (29.03.2010 - 08:30) maxims написал(а):
Всё дело в том что Вы сначала группируете, а потом сортируете....
поможет вот это

SELECT r . *

FROM (SELECT * FROM `admin_log` ORDER BY `date` DESC )r

GROUP BY `id`

ORDER BY r.`date` DESC

LIMIT
1000

Спустя 7 минут, 9 секунд (29.03.2010 - 08:37) Vladok написал(а):
Спасибо. Не учел.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.