powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / выбрать максимальные время и дата
14 сообщений из 14, страница 1 из 1
выбрать максимальные время и дата
    #39486613
tenmonan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
помогите решить задачу
id sum date
6171636660 630,51 25.03.2014 14:45:10
6171636660 34900 31.03.2014 23:59:59
6171636660 72300 31.03.2014 10:52:42
6171636660 1000 25.03.2014 14:43:04
6171636660 71100 31.03.2014 12:26:09
6171636660 1050 25.03.2014 14:43:04
6171636660 830,51 25.03.2014 14:45:10
6171636660 800 25.03.2014 14:45:10
6171636660 600 25.03.2014 14:45:10
6171636660 0 25.03.2014 14:45:18
6171636660 34950 31.03.2014 13:25:11

Каким образом можно выбрать строку с максимальной датой и временем? к примеру, чтоб из этого массива выводилась только вторая строка со значением в date '31.03.2014 23:59:59'. простой max выводит все поля с датой 31.03.2014
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486616
j2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tenmonan, Если максимальная дата и время одинаковая у нескольких строк, нужно выводить одну любую строку или все строки удовлетворяющие условию?
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486648
tenmonan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по идее, повторяющихся дат и времени не должно быть, по крайней мере, время не должно повторяться в базе данных.
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486656
j2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tenmonan, а это тогда что?
tenmonan6171636660 830,51 25.03.2014 14:45:10
6171636660 800 25.03.2014 14:45:10
6171636660 600 25.03.2014 14:45:10
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486687
tenmonan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, не заметил. тогда да, нужны все строки, удовлетворяющие условию
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486723
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tenmonanда, не заметил. тогда да, нужны все строки, удовлетворяющие условию
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  1  with t (id, sum, dat) as
  2  (
  3  select 6171636660, 630.51, to_date('25.03.2014 14:45:10','dd.mm.yyyy hh24:mi:ss') from dual union all
  4  select 6171636660, 34900, to_date('31.03.2014 23:59:59','dd.mm.yyyy hh24:mi:ss') from dual union all
  5  select 6171636660, 72300, to_date('31.03.2014 23:59:59','dd.mm.yyyy hh24:mi:ss') from dual union all
  6  select 6171636660, 1000, to_date('25.03.2014 14:43:04','dd.mm.yyyy hh24:mi:ss') from dual)
  7* select * from (select t.*,rank() over (order by dat desc) r from t) where r=1
SQL> /

        ID        SUM DAT               R
---------- ---------- -------- ----------
6171636660      34900 31.03.14          1
6171636660      72300 31.03.14          1



ps
в древніх версиях
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  1  with t (id, sum, dat) as
  2  (
  3  select 6171636660, 630.51, to_date('25.03.2014 14:45:10','dd.mm.yyyy hh24:mi:ss') from dual union all
  4  select 6171636660, 34900, to_date('31.03.2014 23:59:59','dd.mm.yyyy hh24:mi:ss') from dual union all
  5  select 6171636660, 72300, to_date('31.03.2014 23:59:59','dd.mm.yyyy hh24:mi:ss') from dual union all
  6  select 6171636660, 1000, to_date('25.03.2014 14:43:04','dd.mm.yyyy hh24:mi:ss') from dual)
  7* select * from t where dat=(select max(dat) from t)
SQL> /

        ID        SUM DAT
---------- ---------- --------
6171636660      34900 31.03.14
6171636660      72300 31.03.14



.....
stax
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486737
ORA__SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я бы отказался от WINDOW SORT PUSHED RANK в пользу
stax..в древніх версияхс Index Range Scan + Index Range Scan Min/Max
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486739
j2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tenmonan,

Код: plsql
1.
select * from tab1 a where a.dat = (select max(dat) from tab1 b where a.id=b.id)
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486746
tenmonan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а можно поподробнее? че-то ничего не понял:0
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486751
j2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"ой, всё!" (с)
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486763
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORA__SQLА я бы отказался от WINDOW SORT PUSHED RANK в пользу
stax..в древніх версияхс Index Range Scan + Index Range Scan Min/Max

я надеялся на
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
-----------------------------------------------------------------------------------------
| Id  | Operation                     | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT              |         |     4 |   192 |     1   (0)| 00:00:01 |
|*  1 |  VIEW                         |         |     4 |   192 |     1   (0)| 00:00:01 |
|*  2 |   WINDOW NOSORT STOPKEY       |         |     4 |   140 |     1   (0)| 00:00:01 |
|   3 |    TABLE ACCESS BY INDEX ROWID| T       |     4 |   140 |     1   (0)| 00:00:01 |
|*  4 |     INDEX FULL SCAN           | I$T$DAT |     4 |       |     1   (0)| 00:00:01 |
-----------------------------------------------------------------------------------------




.....
stax
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486767
ORA__SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
-----------------------------------------------------------------------------------------
| Id  | Operation                     | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT              |         |     4 |   192 |     1   (0)| 00:00:01 |
|*  1 |  VIEW                         |         |     4 |   192 |     1   (0)| 00:00:01 |
|*  2 |   WINDOW NOSORT STOPKEY       |         |     4 |   140 |     1   (0)| 00:00:01 |
|   3 |    TABLE ACCESS BY INDEX ROWID| T       |     4 |   140 |     1   (0)| 00:00:01 |
|*  4 |     INDEX FULL SCAN           | I$T$DAT |     4 |       |     1   (0)| 00:00:01 |
-----------------------------------------------------------------------------------------


staxНа большом объеме застрянешь на шаге 4
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486792
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORA__SQLНа большом объеме застрянешь на шаге 4

практически моментально подозреваю із-за STOPKEY
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
-------------------------------------------------------------------------------------------------
| Id  | Operation                      | Name           | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT               |                |     9 |  3375 |     1   (0)| 00:00:01 |
|*  1 |  COUNT STOPKEY                 |                |       |       |            |          |
|*  2 |   VIEW                         |                |     9 |  3375 |     1   (0)| 00:00:01 |
|*  3 |    WINDOW NOSORT STOPKEY       |                |     9 |  1332 |     1   (0)| 00:00:01 |
|   4 |     TABLE ACCESS BY INDEX ROWID| P              |    81M|    11G|     1   (0)| 00:00:01 |
|   5 |      INDEX FULL SCAN DESCENDING| I_PAY          |     9 |       |     1   (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------



.....
stax
...
Рейтинг: 0 / 0
выбрать максимальные время и дата
    #39486914
ORA__SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..практически моментально подозреваю із-за STOPKEY Соглашусь
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / выбрать максимальные время и дата
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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