У меня есть хранимая процедура, которая возвращает три столбцаГруппировка по идентификатору и 2-й колонке
| ID | EVENTS_ID | EVENT_TIME_FROM |
| 46 | 1 | "2015-03-09 15:00:00" |
| 46 | 2 | "2015-03-16 15:00:00" |
| 46 | 3 | "2015-03-18 15:00:00" |
| 47 | 4 | "2015-03-12 16:30:00" |
| 47 | 5 | "2015-03-23 16:30:00" |
| 47 | 6 | "2015-03-23 16:30:00" |
| 47 | 7 | "2015-03-23 16:30:00" |
| 47 | 8 | "2015-03-23 16:30:00" |
Я хочу запросить все Ид + events_ids учитывая максимальное EVENT_TIME_FROM за ID
т.е. результат будет
| ID | EVENTS_ID | EVENT_TIME_FROM |
| 46 | 3 | "2015-03-18 15:00:00" |
| 47 | 5 | "2015-03-23 16:30:00" |
| 47 | 6 | "2015-03-23 16:30:00" |
| 47 | 7 | "2015-03-23 16:30:00" |
| 47 | 8 | "2015-03-23 16:30:00" |
Также, чтобы сделать это более трудным, таблица фактически является результатом сохраненного вызова proc и некоторой группы уже.
т.е. текущего запрос
SELECT DISTINCT id,events_id, event_time_from
FROM my_stored_proc(...data)
GROPU BY id, events_id, event_time_from
ORDER BY id ,events_id ,event_time_from DESC
Я на Postgres, попробовал несколько вещей, но не уверены.
удивительным спасибо! rank() отлично работал – dboyd68