Прежде всего я использую Oracle 10g Express
Итак, я хочу выделить три столбца:
[имя_домена] [путь_индекса] [имя_коллекции]
Теперь есть два столбца, которые я хочу быть уникальными (как группа):
[имя_домена] [путь_индекса]
И затем я хочу выбрать строку, на которую будет нанесен удар, когда другой столбец [gen_timestamp] будет самым последним.
Так что моя проблема в том, как мне в основном:
SELECT domain_name, index_path, MIN(collection_name) collection_name
FROM TABLENAMEHERE
GROUP BY domain_name, index_path;
но вместо выбора min collection_name выберите строку, в которой [gen_timestamp] является самой последней.
Чтобы прояснить несколько вопросов, я мог видеть, как люди спрашивают:
Вам нужно уникальное значение имени_домена И ИДИНСТВЕННОЕ значение индекса_пути или уникальное сочетание двух?
уникальная комбинация двух.
То есть есть несколько строк с одинаковым [имя_домена] [путь_индекса]?
Да.
Это код, с которым я сейчас работаю, но он не совсем работает:
select domain_name, index_path, collection_name
from my_table outr
inner join
(select domain_name, index_path, collection_name,
max(gen_timestamp)
over (partition by domain_name, index_path) gen_timestamp
from my_table) innr
where outr.domain_name = innr.domain_name
and outr.index_path = innr.index_path
and outr.collection_name = innr.collection_name
and outr.gen_timestamp = innr.gen_timestamp