![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выбрать строку с максимальной датой [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 ... )