Re: Выбор первых записей из повторяющихся
От: starina_bz  
Дата: 05.12.10 17:50
Оценка:
Здравствуйте, MASReady, Вы писали:

MAS>ПАМАГИТЕ к ночи башка не варит совсем


MAS>ID — уникальный ключ

MAS>PLACE_ID — код места (может повторяться)
MAS>DOC_DATE — дата документа (может повторяться)

MAS>ТАБЛИЦА

MAS>ID PLACE_ID DOC_DATE
MAS>1 1 01.12.1990
MAS>2 1 03.02.1985
MAS>3 1 11.10.1980
MAS>4 2 07.12.1982
MAS>5 2 01.03.1980
MAS>6 2 09.07.1978
MAS>...

MAS>нужно выбрать все первые записи (не потеряв ID) для каждого PLACE_ID

MAS>Вобщем нужен ID записи с максимальной датой (только один) по каждому населенному пункту

MAS>таблица отсортирована ORDER BY PLACE_ID ASC, DOC_DATE DESC,

MAS>поэтому можно просто взять первые по каждому PLACE_ID, вопрос в том как это сделать????

СУБД-то какая?
В чистом SQL выглядит так:
select id,place_id,doc_date
from my_table t
where
t.doc_date = (select max(t1.doc_date) from my_table t1 where t1.place_id = t.place_id)


В Oracleможно обойтись без подзапроса, используя аналитическую функцию FIRST.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.