SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.06.2011 11:00:08

kiligin
Завсегдатай
Зарегистрирован: 28.11.2009
Сообщений: 48

select max() from table

Друзья, приветствую!
Сижу, туплю. Помогите плиз.
Есть таблица t1 (name varchar, data date, hour int, count int)
необходимо выбрать записи у которых максимальный count с группировкой по name, data, а главное необходимо знать значение hour в этот момент.

пример записей
имя1, 2011-06-01, 1, 9 - считаем что это максимальное значение за текущий день
имя1, 2011-06-01, 2, 4
...
имя1, 2011-06-01, 23, 6

имя1, 2011-06-02, 1, 15
имя1, 2011-06-02, 2, 23
...
имя1, 2011-06-26, 23, 14

пример результата
имя1, 2011-06-01, 1, 9
имя1, 2011-06-02, час, макс.знач.
...
имя1, 2011-06-30, час, макс.знач.

Отредактированно kiligin (27.06.2011 15:06:43)

Неактивен

 

#2 28.06.2011 13:13:48

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: select max() from table

Только подзапросом:

SELECT t1.* FROM t1 JOIN
(SELECT name, data, MAX(count) AS count
FROM t1
GROUP BY 1,2) s USING (name, data, count);

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson