|
|
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
Добрый день, как можно добиться уникальности в выборке БЕЗ distinct? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 10:09 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
Maska321, where rownum=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 10:15 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
-2-, мне нужно выбрать значения из столбца (их много ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 11:04 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
Maska321, group by ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 11:09 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, дело в том , что эти значения привязаны к датам и если я их отгрупирую, то получится на всей выборке уникальные значения, а мне нужно только в определенном месте. Например, есть курс валют который привязан к каждому дню 2х или 3х месяцев. Т.е. за первый день 20, за второй 20, за третий 20, за 4 - 21, за 5- 21грн, мне нужно взять только 20грн и 21грн, т.е первое изменение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 11:27 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
Maska321 за первый день 20, за второй 20, за третий 20, за 4 - 21, за 5- 21грн, мне нужно взять только 20грн и 21грн, т.е первое изменение за шестой день 20... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 11:36 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
Maska321MaximaXXL, дело в том , что эти значения привязаны к датам и если я их отгрупирую, то получится на всей выборке уникальные значения, а мне нужно только в определенном месте. Например, есть курс валют который привязан к каждому дню 2х или 3х месяцев. Т.е. за первый день 20, за второй 20, за третий 20, за 4 - 21, за 5- 21грн, мне нужно взять только 20грн и 21грн, т.е первое изменениеприведи человеческий пример с несколькими валютами за несколько дней в виде таблицы, и вменяемым результатом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 11:40 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
Maska321дело в том , что эти значения привязаны к датам и если я их отгрупирую, то получится на всей выборке уникальные значения, а мне нужно только в определенном месте. Например, есть курс валют который привязан к каждому дню 2х или 3х месяцев. Т.е. за первый день 20, за второй 20, за третий 20, за 4 - 21, за 5- 21грн, мне нужно взять только 20грн и 21грн, т.е первое изменение Посмотрите SQL for Pattern Matching ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 11:46 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
andreymx, c 01.02.2005 20 01.03.2005 20 01.04.2005 21 01.05.2005 21 01.06.2005 20 01.08.2005 26 01.07.2005 26 ... -------------result 01.02.2005 20 01.04.2005 21 01.06.2005 20 01.08.2005 26 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 12:53 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
Maska321, Можно примерно так...но чтобы именно как вы хотите надо из тогда пронумеровать еще, последовательность непонятно чем задана Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 13:26 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
Maska321, Вот результат как вы хотите, но пришлось добавить последовательность записей with w_data as ( select 1 as nr, to_date('01.02.2005', 'dd.mm.yyyy') as dt, 20 as val from dual union all select 2 as nr, to_date('01.03.2005', 'dd.mm.yyyy') as dt, 20 as val from dual union all select 3 as nr, to_date('01.04.2005', 'dd.mm.yyyy') as dt, 21 as val from dual union all select 4 as nr, to_date('01.05.2005', 'dd.mm.yyyy') as dt, 21 as val from dual union all select 5 as nr, to_date('01.06.2005', 'dd.mm.yyyy') as dt, 20 as val from dual union all select 6 as nr, to_date('01.08.2005', 'dd.mm.yyyy') as dt, 26 as val from dual union all select 7 as nr, to_date('01.07.2005', 'dd.mm.yyyy') as dt, 26 as val from dual ) select max(dt) keep (dense_rank first order by nr) as dt, max(val) as val from ( select dt, val, nr, sum(flg) over (order by nr) as grp from ( select d.*, case when lag(val) over (order by nr) = val then null else 1 end as flg from w_data d ) ) group by grp order by dt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 13:28 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
mibin, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:08 |
|
||
|
Уникальное значение
|
|||
|---|---|---|---|
|
#18+
mibinMaska321, Можно примерно так...но чтобы именно как вы хотите надо из тогда пронумеровать еще, последовательность непонятно чем задана імхо, все проще Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. зи если надо по коду валют, то добавть partition cur .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 15:34 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39709125&tid=1883409]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 332ms |

| 0 / 0 |
