累積値を計算するために次のコードを実行しています
SELECT
iid
,item_id
,pg_purch_ind
,SUM_score1
,SUM(pg_purch_ind) OVER(PARTITION BY item_id ORDER BY SUM_score1 DESC, iid % 100, iid ) AS cum_pg_purch
into table2
FROM table1
ただし、「 'order'の近くの構文が正しくありません」というエラーがあります。誰かが問題が何であるか知っていますか?
下位バージョンの回避策は次のとおりです
;WITH cte
AS (SELECT iid,
item_id,
pg_purch_ind,
SUM_score1,
Row_number()OVER(partition BY item_id ORDER BY SUM_score1 DESC, iid % 100, iid ) AS rn
FROM Yourtable)
SELECT iid,
item_id,
pg_purch_ind,
SUM_score1,
cum_pg_purch
FROM cte a
CROSS apply (SELECT Sum (pg_purch_ind)
FROM cte b
WHERE a.item_id = b.item_id
AND b.rn <= a.rn) cs (cum_pg_purch)
発生させることなく、Row_Number
それは非常に困難なクロスに処理するために適用されますWhere
ので、モジュロ演算子の句を
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加