Встроенная возможность не применять аналитические функции к первым N строкам

В событии Internet Explorer 8, переданном как параметр, может быть null, поэтому вам нужно получить доступ к событию другим способом:

В файле frame.html:

window.onmessage = function(event) {
   var evt = evt || window.event;
   evt.source.postMessage('Message from iFrame', evt.origin);
};

На main.html:

window.onmessage = function(event) {
   var evt = evt || window.event;
   alert(evt.data);
};

Событие запускается так же, как и Rob W:

document.getElementById('frameId').contentWindow.postMessage('message','*');
0
задан Adam 27 February 2019 в 16:36
поделиться

1 ответ

Не существует встроенного метода, но эта версия работает при большем количестве обстоятельств:

with cte (num, dollar) as (
      select 1, cast(1.45 as decimal(12,2))
      union all
      select num + 1, cast(dollar + 1.00 as decimal(12,2))
      from cte
      where num < 20
     )
select cte.num, cte.dollar,
       (case when count(*) over (order by cte.num ROWS 3 PRECEDING) = 3
             then avg(cte.dollar) over (order by cte.num ROWS 3 PRECEDING)
        end) as ThreeMonthAvg,
       (case when count(*) over (order by cte.num ROWS 6 PRECEDING) = 6
             then avg(cte.dollar) over (order by cte.num ROWS 6 PRECEDING)
        end) as SixMonthAvg
from cte;

Это фактически подсчитывает строки, входящие в среднее значение, а не в зависимости от конкретных числовых значений.

0
ответ дан Adam 27 February 2019 в 16:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: