2015-12-09 7 views
0

У меня есть выбор SQL, который довольно прост для написания на английском языке, но я не могу его перевести в SQL. Вот он:Выберите идентификатор последнего журнала

Я хочу идентификатор последнего события от пользователя.

таблица выглядит следующим образом:

| COLUMN_NAME | DATA_TYPE | 
|-------------|-----------| 
| ID   | NUMBER | 
| OCCURED  | DATE  | 
| USER_ID  | NUMBER | 

И Я стараюсь много манипуляций с использованием Max(), некоторые GroupBys:

SELECT l.user_id, MAX(l.OCCURED) 
FROM USER_STATS.LOG l 
group by l.user_id, l.occured 
order by l.OCCURED DESC 

, но мне не удалось.

Как я мог это сделать?

+0

группу по l.user_id – jarlh

ответ

1

Я вновь вопрос, потому что я думаю, что это самый простой способ:

Один метод, который использует один агрегация использовать first:

SELECT l.user_id, MAX(l.OCCURED), 
     MAX(ID) KEEP (DENSE_RANK FIRST ORDER BY l.OCCURRED DESC) as id_at_max 
FROM USER_STATS.LOG l 
GROUP BY l.user_id; 
1
SELECT l.user_id, MAX(l.OCCURED) as OCCURED 
FROM USER_STATS.LOG l 
group by l.user_id 
order by OCCURED DESC 

I.e only GROUP BY user_id.

Смежные вопросы