我想根据单价和数量来尝试平均订单。每个订单的单价变化,但产品可以相同。
所以,我正在尝试做类似于以下示例的事情。
说我有这个数据集:
╔═════════╦═════════════╦═══════════╦══════════╗
║ OrderID ║ ProductName ║ UnitPrice ║ Quantity ║
╠═════════╬═════════════╬═══════════╬══════════╣
║ 1 ║ Apple ║ 10.00 ║ 10 ║
║ 2 ║ Apple ║ 15.00 ║ 5 ║
║ 3 ║ Orange ║ 10.00 ║ 2 ║
║ 4 ║ Orange ║ 11 ║ 5 ║
╚═════════╩═════════════╩═══════════╩══════════╝
我想做的是根据数量平均单价。
所以我想要的结果是:
╔═════════════╦════════════════════╦═══════╗
║ ProductName ║ Average Unit Price ║ Count ║
╠═════════════╬════════════════════╬═══════╣
║ Apple ║ 11.67 ║ 15 ║
║ Orange ║ 10.71 ║ 7 ║
╚═════════════╩════════════════════╩═══════╝
您可以在Fiddle
处查看数据集我怎么能这样做?
答案 0 :(得分:1)
select productname,
sum(unitprice * quantity) / sum(quantity) as avg_unit_price,
sum(quantity) as cnt
from your_table
group by productname