私の目標は、現在のパーティションを除く平均を計算することです。以下の表では、avg_prod_rev_oth_cust
列を生成する方法を知りたいと思っています。他の顧客の平均製品収益。ウィンドウ関数でこれを行うことはできますか?SQLウィンドウ関数からパーティションを除外しますか?
cust prod rev avg_prod_rev avg_prod_rev_oth_cust
a x 1 3.5 4.5
a x 2 3.5 4.5
b x 3 3.5 3.5
b x 4 3.5 3.5
c x 5 3.5 2.5
c x 6 3.5 2.5
a y 7 9.5 10.5
a y 8 9.5 10.5
b y 9 9.5 9.5
b y 10 9.5 9.5
c y 11 9.5 8.5
c y 12 9.5 8.5
私はMariaDB Columnstoreを使用しています。 Columnstoreのウィンドウ関数はAmazon Redshiftと構文的に似ていると私は思う。
avg_prod_rev_oth_cust
は、「この顧客を除いたこの製品の収益の合計/他の顧客からの売上数で割ったもの」として計算する必要があります。最初の出現:(3 + 4 + 5 + 6)/ 4。
どのように 'avg_prod_rev_oth_cust'計算する必要がありますか? –
@vkpが述べたように、この計算がどのように機能するかをより詳しく説明してください。また、DDLステートメントとサンプルデータを使用可能な形式で提供してください。 SQL Fiddle(http://www.sqlfiddle.comを参照)として –
あなたがどのデータベースを使用しているかを知っていれば、それは私たちの回答にも役立ちます。 –