powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выбор записи по дате в интервале
19 сообщений из 19, страница 1 из 1
Выбор записи по дате в интервале
    #39673062
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток уважаемые профессионалы!
Мне нужна ваша помощь!

Задача:

Есть таблица транзакции:
account trans_date trans_sum sd123 01.02.2012 120.00 sd123 02.02.2012 120.00 sd124 01.02.2012 500.00 sd124 01.02.2012 245.00 sd124 01.02.2012 361.00 sd124 02.02.2012 854.00 sd124 02.02.2012 111.00 sd125 01.02.2012 119.00 sd125 01.02.2012 456.00 sd125 01.02.2012 325.00 ... ......

Надо вытащит любую транзакцию по условий account in(sd123, sd124, sd125) and trans_date between '01.02.2012' and 02.02.2012.

Результат должен быть:
account trans_date trans_sum sd123 01.02.2012 120.00 sd123 02.02.2012 120.00 sd124 01.02.2012 500.00 sd124 02.02.2012 854.00 sd125 01.02.2012 119.00 ... ......

т.е. одна запись по account и trans_date.

Мне кое кто подсказал, но не могу использовать:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select *
from (select account,
             trans_date,
             rank() over (partition by account order by trans_date) as r_rank
        from transaction_arh         
        where account in ('sd123', 'sd124', 'sd125')
           and trans_date between to_date('01.02.2012', 'dd.mm.yyyy') and to_date('05.02.2012', 'dd.mm.yyyy')
)
where r_rank = 1



Заранее спасибо!
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673066
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alimkulov,

что и почему вам мешает использовать то, что подсказал кое-кто ? что-нибудь ещё кое-кто подсказывает, чтобы можно было использовать?
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673067
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Будь проще:
Код: sql
1.
2.
3.
4.
5.
6.
select account, trans_date, max(trans_sum)
from transaction_arh
where account in ('sd123', 'sd124', 'sd125')
    and trans_date between to_date('01.02.2012', 'dd.mm.yyyy') and to_date('05.02.2012', 
'dd.mm.yyyy')
group by account, trans_date


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673070
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alimkulov,

возможно, вам сюда
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673074
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alimkulov,

а в чем отличие от этого
кроме двух лет между постами ?
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673114
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаAlimkulov,

что и почему вам мешает использовать то, что подсказал кое-кто ? что-нибудь ещё кое-кто подсказывает, чтобы можно было использовать?

Это вообще по другому ведет себя:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select *
from (select account,
             trans_date,
             rank() over (partition by account order by trans_date) as r_rank
        from transaction      
        where account in ('sd123', 'sd124', 'sd125')
           and trans_date between to_date('01.02.2012', 'dd.mm.yyyy') and to_date('05.02.2012', 'dd.mm.yyyy')
)
where r_rank = 1
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673117
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййAlimkulov,

а в чем отличие от этого
кроме двух лет между постами ?

Большое отличие!
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673120
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
А можно первую записью, а не max(trans_sum)?
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673126
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673134
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alimkulov,

Так что ли надо?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select *
from (select account,
             trans_date,
             rank() over (partition by account, trans_date order by trans_date) as r_rank
        from transaction_arh         
        where account in ('sd123', 'sd124', 'sd125')
           and trans_date between to_date('01.02.2012', 'dd.mm.yyyy') and to_date('05.02.2012', 'dd.mm.yyyy')
)
where r_rank = 1
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673135
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximaXXL,

Даже точнее так:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select *
from (select account,
             trans_date,
             rank() over (partition by account, trunc(trans_date) order by trans_date) as r_rank
        from transaction_arh         
        where account in ('sd123', 'sd124', 'sd125')
           and trans_date between to_date('01.02.2012', 'dd.mm.yyyy') and to_date('05.02.2012', 'dd.mm.yyyy')
)
where r_rank = 1
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673138
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlimkulovDimitry Sibiryakov,
А можно первую записью, а не max(trans_sum)?
а почему она не первая?
ну min(trans_sum) лучше?
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673139
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это FIRST/LAST же: FIRST/LAST
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673141
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это FIRST/LAST же: FIRST/LAST
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673144
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlimkulovА можно первую записью

Можно, но ты же сам просил любую .
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673158
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximaXXLMaximaXXL,

Даже точнее так:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select *
from (select account,
             trans_date,
             rank() over (partition by account, trunc(trans_date) order by trans_date) as r_rank
        from transaction_arh         
        where account in ('sd123', 'sd124', 'sd125')
           and trans_date between to_date('01.02.2012', 'dd.mm.yyyy') and to_date('05.02.2012', 'dd.mm.yyyy')
)
where r_rank = 1



Точно так. Вы просто молодцы! Спасибо большое!
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673162
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот результат:
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673163
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alimkulov,

а trunc таки забыли хотя может в Вашем случае и не актуально, но все же
...
Рейтинг: 0 / 0
Выбор записи по дате в интервале
    #39673173
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximaXXL,
да точно!
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выбор записи по дате в интервале
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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