powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Именованное окно для аналитических функция
25 сообщений из 55, страница 2 из 3
Именованное окно для аналитических функция
    #39420268
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopstax..пропущено...


пропущено...



+1

.....
staxТы мои ответы не приписывай к иным формулировкам, ок?


Про connect by речь шла вообще в другой теме и я довольно внятно указал, что искать в доке.

Если интересуют детали - я описывал в The Power of Oracle SQL .
Но я один раз тебе давал ссылку, так что полагаю, что у тебя нет желания читать.
А у меня нет желания копипастить одно и то же и расжевывать по 100 раз.
На этом предлагаю и разойтись.
с чего Вы взяли что ето Ваш ответ, ето Ваша формулировка(фраза), но не Ваш ответ

нет желания разжевывать, я ж не настаиваю,
да и вряд ли мне пригодится в реальной жизни,
редко коннект бай успользую, тем более с ровнум
вопрос для меня больше познавательный чем практический

Вы ж тоже сюда дали ссылку из другой темы

книжку скачал давно (спасибо за труд), начал читать, но ж надо внимательно, счас нет времени отвлечься надолго

90% что прочитаю , но не счас, не хочу просто листать, надо вникать в примеры

......
stax
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420271
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..,

Со мной можно на ты, меня один а не много.

Я категорично высказывался по поводу использовании номеров в группировке
С алиасами может и можно сделать, а может я что-то упускаю.
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420286
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopstax..,

Со мной можно на ты, меня один а не много.

Я категорично высказывался по поводу использовании номеров в группировке
С алиасами может и можно сделать, а может я что-то упускаю.

какая принципиальная разница?

если колонок меньше то
ORA-01785: GROUP BY item must be the number of a SELECT-list expression

мне просто неудобно, ладно там копи/пасте, так надо ж алиас удалять

......
stax
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420301
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..какая принципиальная разница?Order by по номерам провокационный синтаксис, влекущий трудновыводимые ошибки.
А с group by поезд уже уехал. Добавление возможности группировать по алиасам или номерам может поломать существующие запросы, причем синтаксическая валидность может сохраниться, а стрельнет очень больно.
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420306
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-А с group by поезд уже уехал. Добавление возможности группировать по алиасам или номерам может поломать существующие запросы, причем синтаксическая валидность может сохраниться, а стрельнет очень больно.пока придумать не могу, где и как
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420322
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-stax..какая принципиальная разница? Order by по номерам провокационный синтаксис, влекущий трудновыводимые ошибки .
А с group by поезд уже уехал. Добавление возможности группировать по алиасам или номерам может поломать существующие запросы, причем синтаксическая валидность может сохраниться, а стрельнет очень больно.
повторно
в старых версиях были варианты запросов (с юнион) где сортировка только по номерах,
и в доке было отражено
как в новых не знаю, не проверял

.....
stax
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420324
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..,

Код: 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.
26.
27.
28.
SQL> ed
Wrote file afiedt.buf

  1  select 1 a,2 b from dual union all
  2  select 1+1,3+3 from dual union all
  3  select 5,5 from dual
  4* order by a,b
SQL> /
order by a,b
         *
ERROR at line 4:
ORA-00904: "A": invalid identifier


SQL> ed
Wrote file afiedt.buf

  1  select 1 a,2 b from dual union all
  2  select 1+1,3+3 from dual union all
  3  select 5,5 from dual
  4* order by 1,2
SQL> /

         A          B
---------- ----------
         1          2
         2          6
         5          5



.....
stax
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420850
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..,

есть бажок ~парсера.
лечится
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Присоединен к:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing opt
ions

SQL> select 1 a,2 b from dual
  2  union all
  3      select 1+1 a,3+3 b from dual union all
  4      select 5 a ,5 b  from dual
  5     order by a,b;

         A          B
---------- ----------
         1          2
         2          6
         5          5
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420868
Maxim Demenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishstax..,

есть бажок ~парсера.
лечится

Лечение может привести к осложнениям
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

SQL> select 1 a,2 b from dual
  2  union all
  3      select 1+1 b,3+3 a from dual union all
  4      select 5 a ,5 b  from dual
  5     order by a,b;

         A          B
---------- ----------
         1          2
         2          6
         5          5



Regards

Maxim
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420870
Maxim Demenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote Maxim Demenko]orawishstax..,


Хотя, сорри, гоню
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420880
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishесть бажок ~парсера.
А в чем баг?
Насколько я помню диаграмму, order by относится только к текущему select, он не может знать о вышестоящих union all.
Я всегда union all вношу в подзапрос, а сортировку делаю снаружи.
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39420944
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.orawishесть бажок ~парсера.
А в чем баг?
Насколько я помню диаграмму, order by относится только к текущему select, он не может знать о вышестоящих union all.
Я всегда union all вношу в подзапрос, а сортировку делаю снаружи.
баг в том, что в случае union (или union all) запрос стабилен только если алиас колонок дублируется в каждой (разве только, кроме последней ? ;) ветви union/union all

чтобы с нестабильностью этой не связываться, рекомендую сортировку после факторинга делать
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39421024
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.orawishесть бажок ~парсера.
А в чем баг?
Насколько я помню диаграмму, order by относится только к текущему select, он не может знать о вышестоящих union all.
Я всегда union all вношу в подзапрос, а сортировку делаю снаружи.
нет, order by относится ко всему селекту

......
stax
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39421033
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Demenko,

[offtop]

А ты forums.oracle.com постишь что-то относительно регулярно или только тут и в oracle-l?
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39421053
Maxim Demenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopMaxim Demenko,

[offtop]

offtop
Я и здесь то нерегулярно, oracle.forums - наверное лет десять назад постил
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39548237
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..andreymxдавайте групп бай по алиасам тех колонок, уже можно?

авторЭтого не будет, потому что не может быть никогда.



+1

.....
staxДолжен сообщить что ваша хотелка с группированием по номерам колонок уже реализована в других движках.
При этом корректно обрабатывается ситуация когда по колонке группировать недопустимо.

Переходите на Big Data.

Impala
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
> with t(part, value) as
> (
> select 1, 10
> union all select 1, 20
> union all select 2, 30
> )
> select sum(sum(value)) over (order by part) s_cumul, part, sum(value) s
>  from t
> group by 2;
Query: with t(part, value) as
(
select 1, 10
union all select 1, 20
union all select 2, 30
)
select sum(sum(value)) over (order by part) s_cumul, part, sum(value) s
 from t
group by 2
+---------+------+----+
| s_cumul | part | s  |
+---------+------+----+
| 30      | 1    | 30 |
| 60      | 2    | 30 |
+---------+------+----+
Fetched 2 row(s) in 0.03s
>
>
>
> with t(part, value) as
> (
> select 1, 10
> union all select 1, 20
> union all select 2, 30
> )
> select sum(sum(value)) over (order by part) s_cumul, part, sum(value) s
>  from t
> group by 1, 2;
Query: with t(part, value) as
(
select 1, 10
union all select 1, 20
union all select 2, 30
)
select sum(sum(value)) over (order by part) s_cumul, part, sum(value) s
 from t
group by 1, 2
ERROR: AnalysisException: GROUP BY expression must not contain aggregate functions: 1

Я по прежнему считаю это нелогичным, хотя какое это уже имеет значение.

Группировка по алиасу тоже работает. Эти запросы возвращают тот же результат, что и первый.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
with t(part, value) as
(
select 1, 10
union all select 1, 20
union all select 2, 30
)
select sum(sum(value)) over (order by part) s_cumul, part as part_alias, sum(value) s
 from t
group by part;

with t(part, value) as
(
select 1, 10
union all select 1, 20
union all select 2, 30
)
select sum(sum(value)) over (order by part) s_cumul, part as part_alias, sum(value) s
 from t
group by part_alias;
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39548259
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopЯ по прежнему считаю это нелогичным, хотя какое это уже имеет значение. логично или нет, что в в Оракле есть select from dual, а в MSSQL есть SELECT from ниоткуда?
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39548281
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxdbms_photoshopЯ по прежнему считаю это нелогичным, хотя какое это уже имеет значение. логично или нет, что в в Оракле есть select from dual, а в MSSQL есть SELECT from ниоткуда?

не в курсе о SELECT from ниоткуда

но мне более логичным
вместо select f from dual кажется select f (вообще без from)
именно ниоткуда, просто выбрать/получить/посчитать

select f from dual - выбрать все строки из дуал и посчитать для каждой строки ф

зачем так сложно

да и ходили слухи о какой-то там конкуренции за дуал
потом прыдумили какую-то фаст дуал

.....
stax
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39548353
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxdbms_photoshopЯ по прежнему считаю это нелогичным, хотя какое это уже имеет значение. логично или нет, что в в Оракле есть select from dual, а в MSSQL есть SELECT from ниоткуда?Это вопрос идеологии.
Почему бы не сделать from таким же опциональным как where clause?
Ну и такой подход в большинстве СУБД.

Кто касается МССКЛ, то большая странность это селект в никуда.
Когда в процедуре не объявляешь выходных параметров, а просто пихаешь в нее запросы.
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39548634
dbms_photoshopПочему бы не сделать from таким же опциональным как where clause?некоторые постмодернисты еще и без select обходятся:
Код: plaintext
table таблица == select * from таблица
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39548738
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxно мне более логичным
вместо select f from dual кажется select f (вообще без from)
именно ниоткуда, просто выбрать/получить/посчитать
А почему в "ниоткуда" 1 запись, а не 500 или 0?
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39548744
Alibek B.почему в "ниоткуда" 1 записьаналогичные измышлизмы применимы и к where. Почему при неуказанном условии все строки, а не null строк?
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39548766
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopКто касается МССКЛ, то большая странность это селект в никуда.Ну почему же в никуда? На клиента.
Почему же странность? Это для нас, ораклистов, по первой, непривычно. Я вот поюзал, привык, удобно.
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39548929
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKaddbms_photoshopКто касается МССКЛ, то большая странность это селект в никуда.Ну почему же в никуда? На клиента.
Почему же странность? Это для нас, ораклистов, по первой, непривычно. Я вот поюзал, привык, удобно.Я то начинал как МССКЛ разработчик и первый раз как раз оказался на этом форуме -ннадцать лет назад потому что возник вопрос "как узнать тип результата процедуры". Это спустя некоторое время стало очевидно что никак, потому что она может содержать примерно такой код
Код: sql
1.
2.
3.
4.
if @param = 1
  select 1 id
else
  select 'a' a, 'b' b, 'c' c;

Так вот если разрабатывать модульное ПО, то намного удобнее посмотреть на сигнатуру и понять что на вход и что на выход чем ковырять код.

PS. Кроме клиента процедуры могут вызывать другие процедуры, не так ли?
...
Рейтинг: 0 / 0
Именованное окно для аналитических функция
    #39548944
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshop,

Удобно, когда на клиента надо выплевывать шапку, данные и footer меняющегося от месяца к месяцу отчета.
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 2 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Именованное окно для аналитических функция
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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