powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Задача по SQL
25 сообщений из 25, страница 1 из 1
Задача по SQL
    #32113968
Teuton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется такая таблица:
CUSTOMER
DATE
.........etc.

Например:
CUSTOMER DATE
1000 21.01.2001
1000 22.01.2001
1000 25.02.2001
1001 05.11.2001
1001 17.12.2001


Нужно выбрать из таблицы номера квитанций
и соответствующю им БОЛЕЕ РАННЮЮ дату:
т.е на выходе должно получиться

1000 21.01.2001
1001 05.11.2001

Как такое сделать? Спасибо
...
Рейтинг: 0 / 0
Задача по SQL
    #32113969
Teuton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, номера квитанций тут конечно ни при чём
...
Рейтинг: 0 / 0
Задача по SQL
    #32114000
ArchiMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Измени поле date на другое, т.к. date - зарезервированное слово.
В моем примере оно называется cdate.

Для приведенных тобой данных, которые должны получиться в результате запроса подходит такая конструкция:

select a.customer, min(a.cdate)
from customer_date a,
(select customer,max(cdate) cdate
from customer_date
group by customer) b
where a.cdate<b.cdate
and a.customer=b.customer
group by a.customer

Если же тебе нужна предыдущая дата, поменяй min(a.cdate) на max(a.cdate).

Если нужно на какую-либо дату, тот селект, что в скобках, ограничиваешь where, убираешь группировку и вместо max(cdate) ставишь просто cdate.
...
Рейтинг: 0 / 0
Задача по SQL
    #32114021
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eshe variant::
SELECT customer_id, cdate
FROM (SELECT customer_id, cdate,
MIN(cdate) OVER (PARTITION BY customer_id) AS rmin
FROM customer_date)
WHERE cdate < rmin;
...
Рейтинг: 0 / 0
Задача по SQL
    #32114077
kätzchen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zachem gorodit' ogorod? Chto razwe nel'zja sdelat' prosto tak
select a.customer, min(a.date)
from table_name a
group by a.customer
...
Рейтинг: 0 / 0
Задача по SQL
    #32114096
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Problema, kak ya ponyal, v yslovii "< min()".
Variant
select a.customer, min(a.date)
from table_name a
group by a.customer
dast " = min()"........
...
Рейтинг: 0 / 0
Задача по SQL
    #32114149
kätzchen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ja tak ponjala, chto nado wibrat' customer i samuju rannuju datu k nemu otnosjaschujusja.
...
Рейтинг: 0 / 0
Задача по SQL
    #32114210
AndrewS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для 9i:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create table tprev
( customer	number
, d		date 	
);

insert into tprev values( 1000 , date '2001-01-21');
insert into tprev values( 1000 , date '2001-01-22');
insert into tprev values( 1000 , date '2001-01-25');
insert into tprev values( 1001 , date '2001-11-05');
insert into tprev values( 1001 , date '2001-12-17');

select distinct customer, min(d) over(partition by customer order by d) lv 
  from tprev 
...
Рейтинг: 0 / 0
Задача по SQL
    #32114212
Каспер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛЮЮЮДИ СТАРАЙТЕСЬ НЕ ИСПОЛЬЗОВАТЬ ВЛОЖЕННЫЙ СЕЛЕКТ!!!!!
Если конечно не т других приемов.... то :(
...
Рейтинг: 0 / 0
Задача по SQL
    #32114219
kätzchen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ljudi, budte dobri, ob'jasnite, zachem zdes' ispol'zowat' over(partition ...) I woobsche, chto eto takoe i s chem ego edjat?
...
Рейтинг: 0 / 0
Задача по SQL
    #32114229
Каспер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это очень вкусная штучка!
Полезно если у тебя планируется в БД ОГРОМНАЯ просто таблица... которая вдовесо еще и будет расти немеряно.
То можно использоавть так называемую Партишион тэйбл.
Получается таблица которая разбита на скажем 10 подтаблиц (скажем по признаку года) Global[1977],Global[1978] и т.д. тогда выборка данных упрощается :).
Если те известен год - ты ижешь не по всей Global а только в одно части партиии... это одно из преимуществ.
Это если на пальцах объяснять. Я пока по эотму вопросу знаю очень мало...
...
Рейтинг: 0 / 0
Задача по SQL
    #32114235
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кошечка абсолютно права - в данном случае огород городить ненадо и простой запрос
Код: plaintext
1.
2.
select a.customer, min(a.date) 
from table_name a 
group by a.customer
будет работать.

Аналитические функции надо применять там, где требуется в результатах запроса совместить группированные и не группированные данные, например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SQL> select distinct customer, d,  min(d) over(partition by customer order by d) lv
   2     from tprev;

  CUSTOMER D        LV
 ---------- -------- --------
 
       1000   21 . 01 . 01   21 . 01 . 01 
       1000   22 . 01 . 01   21 . 01 . 01 
       1000   25 . 01 . 01   21 . 01 . 01 
       1001   05 . 11 . 01   05 . 11 . 01 
       1001   17 . 12 . 01   05 . 11 . 01 
...
Рейтинг: 0 / 0
Задача по SQL
    #32114240
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OVER (PARTITION) govorit o tom, chtoby delat' grouping po priznaky, ykazannomy v
znachenii "PARTITION"
Partition table - eto nemnogo drugoe.
I eshe,
Ne boites' delat' select from (select v 9i)! Delo ne v debugginge..
Da i legche nastroit' performance vashih query..
...
Рейтинг: 0 / 0
Задача по SQL
    #32114246
Каспер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эксперт! Плиз подскажи как настороить? У меня таких запрос уйма причем из ескольких таблиц :(( как запускают такой запрос человека 3 помимо остальных 5 просто работающих так БД прогибается :(
На что смотреть?

И еще посоветуй что нить по Lockam и Latcham? Какие общие соображение по их тюнингу...
Спасибо
...
Рейтинг: 0 / 0
Задача по SQL
    #32114304
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bros' mne na mail dannye {
table, currrent indexes, current queries
}
rezultat verny ASAP.
...
Рейтинг: 0 / 0
Задача по SQL
    #32114428
kätzchen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gospoda, wsem bol'schoe spasibo za ob'jasnenija naschet over(partition...) Mne sejchas eto kak raz ochen' prigodilos', a ja i ne znala, chto eto takaju poleznaja schtuchka!
Für alle in München:
Schöne Faschingsdienstag ;-))
...
Рейтинг: 0 / 0
Задача по SQL
    #32114436
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Für alle in München:
>Schöne Faschingsdienstag ;-))

danke, gleichfalls! Только я сегодня все равно до вечера на работе сидеть буду :-( Такова нелегкая судьба админа - работать, когда все отдыхают.
...
Рейтинг: 0 / 0
Задача по SQL
    #32114442
kätzchen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A u nas segodnja bili Krapfen und Weisswurstchen und Bier. I ja uge sowsem ne mogu rabotat', xotja wrode bi i nado ;-))
...
Рейтинг: 0 / 0
Задача по SQL
    #32114444
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Was ist das Krapfen? Ich habe nie gehört.

P.S. Счас нас попрут за оффтопики :-)
...
Рейтинг: 0 / 0
Задача по SQL
    #32114454
kätzchen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Krapfen eto takie bulochki s saxornoj pudroj na werxu i s nachinkoj wnutri. (ochen' wkusnie) I prodajutsja oni kak raz na Fasching. A u was chto na rabote, nikakogo Faschinga net?

PS: Nadejus' chto nas otsjuda ne wigonjat - mi prosto delaem kaffepause ;-))
...
Рейтинг: 0 / 0
Задача по SQL
    #32114456
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Krapfen eto takie bulochki s saxornoj pudroj na werxu i s nachinkoj wnutri.
>(ochen' wkusnie) I prodajutsja oni kak raz na Fasching.

А... Я то думаю счего бы это у нас в столовке их сегодня бесплатно раздавали!

>A u was chto na rabote,
>nikakogo Faschinga net?

В том то и дело, что патчить базу надо в нерабочее время.
...
Рейтинг: 0 / 0
Задача по SQL
    #32114463
pricolist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот там есть про агрегированные запросы именно Ваш случай.
может поможет.

http://www.oracle.com/ru/oramag/novdec2002/index.html?admin_show.html
...
Рейтинг: 0 / 0
Задача по SQL
    #32114484
kätzchen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wopros ne po SQL.
to .dba
A kak ti ispol'zuesch' kirilizu? Ti Schrift extra ustanawliwal?
...
Рейтинг: 0 / 0
Задача по SQL
    #32114490
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Wopros ne po SQL.
>to .dba
>A kak ti ispol'zuesch' kirilizu? Ti Schrift extra ustanawliwal?

давай лучше на e-mail напишу. Ок?
...
Рейтинг: 0 / 0
Задача по SQL
    #32114508
kätzchen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Задача по SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]