计算sql中重复项的加权平均值

0 sql average

ITEM |  SKU  |  QUANT  |      ITEM LANDING
-----+-------+---------+-----------------
ABC  | A-B-C |     5   |         500  
ABC  | A-B-C |    10   |         400  
DEF  | D-E-F |     5   |         200  
GHI  | G-H-I |     6   |         300  
JKL  | J-K-L |     5   |         800  
JKL  | J-K-L |    10   |         600 
Run Code Online (Sandbox Code Playgroud)

结果

ITEM NAME | ITEM SKU  | QUANT  |  Weighted Average
----------+-----------+--------+---------------------
  ABC     |    A-B-C  |   15   |      433.33  
  DEF     |    D-E-F  |    5   |      200  
  GHI     |    G-H-I  |    6   |      300  
  JKL     |    J-K-L  |   15   |      666.66  
Run Code Online (Sandbox Code Playgroud)

我想计算重复项目的加权平均值
((首次登陆*数量)+(第二次降落*数量))/(总和(数量)

sch*_*nzo 7

SELECT ITEMNAME, ITEMSKU, SUM(QUANT), SUM(QUANT * ITEM_LANDING) / SUM(QUANT)
FROM <YourTable>
GROUP BY ITEMNAME, ITEMSKU
Run Code Online (Sandbox Code Playgroud)