Gday, у меня есть таблица, которая показывает серию оценок и времени, когда эти баллы имели место. Я бы хотел выбрать максимум этих баллов за каждый день, но отобразить дату и время, в которые произошла оценка.выберите максимальный балл, сгруппированный по дате, отобразите полное datetime
Я использую базу данных Oracle (10g) и таблицу структурирована следующим образом:
scoredatetime score (integer) --------------------------------------- 01-jan-09 00:10:00 10 01-jan-09 01:00:00 11 01-jan-09 04:00:01 9 ...
Я хотел бы иметь возможность представить результаты таких выше становится:
01-jan-09 01:00:00 11
Этот следующий запрос достает меня на полпути, но не полностью.
select
trunc(t.scoredatetime), max(t.score)
from
mytable t
group by
trunc(t.scoredatetime)
Я не могу присоединиться к игре только потому, что один и тот же высокий балл мог быть достигнут несколько раз в течение дня.
Я ценю вашу помощь!
Саймон Эдвардс
Спасибо, Дэвид! Я подозреваю, что все будет намного более жарким, если я хочу получить один балл в день (и взять любой из самых высоких баллов за этот день в качестве номинального «max»). Я воспользуюсь решением, которое вы предоставили. Приветствия. –
@Simon: Это не было бы грязнее, вам нужно было бы захватить MAX (T.ScoreDateTime) во внутреннем запросе и использовать это поле как часть вашего условия JOIN. Рад, что это сработало для вас! –