Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Фотошоп, возвращай свою пятничную про последовательности  [new]
AmKad
Member

Откуда:
Сообщений: 4905
Заинтриговал. Третий час с моделью бьюсь, победить не могу: cyclic/acyclic. Посмотрю потом твои решения.

P.S. Модераторы, ну послал там кто-то фотошопа на Плавучее Нефтяное Хранилище, ну удалили бы пост. Зачем всю тему-то?
Да и вообще, если ругаться запретите, кто ж сюда заходить-то будет?
12 окт 18, 13:32    [21702457]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5847
AmKad,

Чтобы условие задачи не потерялось
12 окт 18, 13:37    [21702466]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5142
AmKad,

Я специально попросил удалить тему целиком.
Если интересны мои решения (model/rec with) напиши в почту.
12 окт 18, 13:42    [21702471]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
AmKad
Member

Откуда:
Сообщений: 4905
dbms_photoshop,

Написал.
12 окт 18, 13:47    [21702486]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
merch
Member

Откуда:
Сообщений: 115
dbms_photoshop
Я специально попросил удалить тему целиком.


Почему?
12 окт 18, 13:52    [21702496]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 17843
Лучше бы этого неадеквата забанили (который сразу какашки начал кидать), чем тему удалять
Он, почему-то остался безнаказанным...
12 окт 18, 14:18    [21702539]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5142
merch,

Потому что пятничная создается не для себя с практическим интересом а для людей, для развлечения.
Достаточно одной гниды, которая безнаказанно может писать все что вздумается, чтоб перекрыть плюсы.
Кроме того, учитывая что кроме вышеозначенного никто в теме не отметился,
это навело на мысли что тема создана не на подходящей площадке и подобное баловство стоит делать на соответствующих сайтах.
12 окт 18, 14:18    [21702541]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
123йй
Member

Откуда:
Сообщений: 1414
dbms_photoshop
учитывая что кроме вышеозначенного никто в теме не отметился

так еще пятник не кончился :)
считай, что все кому интересно в процессе решения.
я тоже пытаюсь модельку прикрутить, но пока не выходит
12 окт 18, 14:26    [21702550]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5142
Ребята, не надо катить бочку на модераторов. Они сработали на отлично.
Бан бессмыленный и с его помощью обиды не лечатся, а наоборот.

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

+ В целях скорейшей развязки, заготовки под спойлером
select*from dual model dimension by(0 i)measures(0 a)(a[for i from 1to 10increment 1]=
case when a[cv()-1]>cv(i) and a[cv()-1]-cv(i)not member of cast(collect(a)[i<cv()]as ku$_objnumset)then a[cv()-1]-cv(i)else a[cv()-1]+cv(i)end);

with r(i,a,c)as(select 1,0,ku$_objnumset()from dual
union all select i+1,case when a>i and a-i not member of c then a-i else a+i end,c multiset union ku$_objnumset(a)from r where i<=10)select i-1,a from r;
12 окт 18, 14:28    [21702557]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 17843
Ну а если честно, то он сразу привел решение тоже с ku$_objnumset, просто немного более многобуквенное, но и, возможно, проще для сопровождения
12 окт 18, 14:34    [21702569]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 17843
А, стоп, там просто массив чиселков был -- ну в принципе, тоже ничего
12 окт 18, 14:35    [21702572]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
hayde
Member

Откуда:
Сообщений: 2
Отличная пятничная задачка.
+ 175 символов
with t(i,n,s)as(select 1,0,'.'from dual union all select i+1,n+i*(case when(n<i or s||n||'.'like'%.'||(n-i)||'.%')then 1else-1end),s||n||'.'from t where i<&Z)select i,n from t
12 окт 18, 14:42    [21702584]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
booby
Member [заблокирован]

Откуда:
Сообщений: 1609
dbms_photoshop
...
это навело на мысли что тема создана не на подходящей площадке и подобное баловство стоит делать на соответствующих сайтах.

о как.
а я уж понадеялся, что ты понял неадекватность задачи
для решения её на "голом" sql, совсем без pl/sql.

Необходимая по условию проверка на существование,
на таком голом sql, которому нельзя заказать временное индексирование
уже набранных значений, гарантированно неэффективна.
В лучшем случае время проверки будет расти линейно.
Разумный человек, даже ради "баловства" не начнет
выписывать её решение на таком "голом sql"

И, просто выполни свои sql для каких-нибудь значений номера последнего вычисляемого
элемента, превышающего, например, 7110...
добавив distinct, ты продвинешься немного, в обмен на оквадрачивание времени.

PS
что за любовь к бессмысленному sql по пятницам...
12 окт 18, 14:52    [21702595]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1319
hayde,

я тоже сделал с || и in_str, но ж 4000 символов

.....
stax
12 окт 18, 14:53    [21702597]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
-2-
Member

Откуда:
Сообщений: 13830
Вячеслав Любомудров
ku$_objnumset
ku$_vcnt короче.
12 окт 18, 14:53    [21702598]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1319
dbms_photoshop
Ребята, не надо катить бочку на модераторов. Они сработали на отлично.
Бан бессмыленный и с его помощью обиды не лечатся, а наоборот.

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

+ В целях скорейшей развязки, заготовки под спойлером
select*from dual model dimension by(0 i)measures(0 a)(a[for i from 1to 10increment 1]=
case when a[cv()-1]>cv(i) and a[cv()-1]-cv(i)not member of cast(collect(a)[i<cv()]as ku$_objnumset)then a[cv()-1]-cv(i)else a[cv()-1]+cv(i)end);

with r(i,a,c)as(select 1,0,ku$_objnumset()from dual
union all select i+1,case when a>i and a-i not member of c then a-i else a+i end,c multiset union ku$_objnumset(a)from r where i<=10)select i-1,a from r;


хотелось БЫ без collect

что-то аля
select rn,s from dual
  model
  dimension by (0 as rn)
  measures (0 s)
  rules iterate (13)
  (
  s[iteration_number] = ...
  s[iteration_number] order by rn = case when sum(decode(s,s[cv()], 1, 0))[any]=1 
        then ...
        else ...
        end
  )
/


но у меня не выходит каменный цветок

....
stax
12 окт 18, 14:57    [21702604]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5142
Stax
что-то аля
sum(decode(s,s[cv()], 1, 0))[any]
В выражении для агрегата нельзя ссылаться на "текущую строку".

С другой стороны, мера не может быть коллекцией, так что накапливать посчитанное в мере с целью проверки вхождения тоже не выйдет.
Разве что накапливать в строке с соответствующими ограничениями. Зато итеративная модель и без collect.
12 окт 18, 15:12    [21702624]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1319
dbms_photoshop,

в строке и через рекурсивный with делается

жаль что нельзя "В выражении для агрегата нельзя ссылаться на "текущую строку"."
по идее не обязательно текущую cv
12 окт 18, 15:17    [21702629]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1319
dbms_photoshop,

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

.....
stax
12 окт 18, 15:20    [21702631]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 28278
Я специально попросил удалить тему целиком.
Никогда не понимал модераторов, потворствующих ТС-ам в их самомнении, что они полные хозяева созданных ими тем.
12 окт 18, 15:21    [21702632]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1319
booby
что за любовь к бессмысленному sql по пятницам...

в пятничных для меня часто не так важна ефективность

более интересно поглядеть на возможности фич напр с model, match_recognize, multiset и тд

....
stax
12 окт 18, 15:23    [21702634]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 17843
Elic
Я специально попросил удалить тему целиком.
Никогда не понимал модераторов, потворствующих ТС-ам в их самомнении, что они полные хозяева созданных ими тем.
Помнится, Маркеленков просил удаление своих ПОСТОВ
Все проще -- надо требовать удаления ТОПИКОВ, где встречались его посты
12 окт 18, 15:26    [21702643]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 16771
Stax
хотелось БЫ без collect
что-то аля
select rn,s from dual
  model
  dimension by (0 as rn)
  measures (0 s)
  rules iterate (13)


Проще простого :)
select i, Ai 
from ( select * from dual
        model ignore nav
        dimension by (0 i)
        measures (0 Ai, 0 t, 0 yy)
        rules iterate (11)
        ( Ai[iteration_number] = Ai[iteration_number-1] 
                               + iteration_number
                               * case when t[Ai[iteration_number-1]-iteration_number] >0
                                        or Ai[iteration_number-1]-iteration_number <= 0 
                                    then 1
                                  else -1
                                  end
        , t[Ai[iteration_number]] = 1
        ) 
) where Ai is not null
order by i
12 окт 18, 15:28    [21702645]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
j2k
Member

Откуда: Новосибирск
Сообщений: 525
А какое условие задачи? Получить ряд для N элементов на голом sql ?
12 окт 18, 15:30    [21702650]     Ответить | Цитировать Сообщить модератору
 Re: Фотошоп, возвращай свою пятничную про последовательности  [new]
hayde
Member

Откуда:
Сообщений: 2
Stax
hayde,

я тоже сделал с || и in_str, но ж 4000 символов

.....
stax

Ну так ведь и NUMBER ограничен (:


На правах шутки:
+ 154 символа
select level i,n from(select &Z z,rownum-1n from xmltable('0to &Z*&Z'))where rownum<=z start with n=0connect by nocycle level-1=abs(n-prior n)and level<=z
12 окт 18, 15:31    [21702652]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить