Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выбрать строку с максимальной датой [Oracle]


ANB ©   (2006-03-07 14:52:00) 

Есть таблица, из которой нужно выбрать все записи, исключая дубли по всем полям, кроме Date_Of. Дубли могут быть как полные, так и с отличающейся датой в Date_Of.
Table1
(
Name varchar2(256),
Fld1 number,
Fld2 number,
Date_Of date
);
Т.е. нужно из дублирующихся записей оставить только ту, у которой дата максимальная.
Это можно сделать подзапросом, но знаю, что есть аналитические функции для этого, но я забыл, какая (приактически не использовал) и не могу найти ее в хелпе.
Буду очень признателен за подсказку.


Fay   (2006-03-07 16:19:00) [1]

2 ANB ©   (07.03.06 16:13) [11]
> Надо книжку взять почитать про аналитику.
Согласен. Пора. 8)


ANB   (2006-03-07 16:13:00) [2]


> Fay ©   (07.03.06 16:10) [10]

Надо книжку взять почитать про аналитику.


Fay   (2006-03-07 16:10:00) [3]

2 ANB ©   (07.03.06 16:08) [9]
> Дает. Только с max
Я 2 раза прочитал "минимальная" в "у которой дата максимальная". Редкое упорство 8)


ANB   (2006-03-07 16:08:00) [4]

Дает. Только с max. Я так и сделал. Просто у меня эта таблица в связке. Пришлось в подзапрос это все запихнуть. Хотел просто аналитику попробовать.


Fay   (2006-03-07 15:42:00) [5]

Блин, чё за фигня?! Неужели такой запрос не даёт желаемый результат?
select
 Name,
 Fld1,
 Fld2,
 min(Date) as Date
from Table1
group by
 Name,
 Fld1,
 Fld2


ANB   (2006-03-07 15:35:00) [6]

Дык с подзапросом и group by хватило.


Fay   (2006-03-07 15:33:00) [7]

2 ANB ©   (07.03.06 15:28) [5]
> там все равно подзапрос получается.
Для ограничения по значению функции? Это нормально.
А ваще, схожу, тоже гляну.


ANB   (2006-03-07 15:28:00) [8]

Сходил на SQL.ru. Ничего там не понял. Нашел пример - но там все равно подзапрос получается.


Fay   (2006-03-07 15:26:00) [9]

Сразу скажу, я с ан. ф-ми работал только в MSSQL.
В Oracle синтаксис богаче, но я его не знаю.
Сходи лучше на SQL.RU


Fay   (2006-03-07 15:24:00) [10]

> с минимальной датой тогда как
не пмши ей desc order by.


ANB   (2006-03-07 15:19:00) [11]

Эта. А с минимальной датой тогда как ?


Fay   (2006-03-07 15:12:00) [12]

dense_rank() over (partition by ... order by ... )


Наверх

Титульная страница Поиск, карта сайта Написать письмо