我有下表
Meal Item Cost
Breakfast Oatmeal 5
Breakfast Omelette 7
Lunch Clam Chowder 10
Lunch Steak 12
Lunch Burger 9
Dinner Clam Chowder 10
Dinner Steak 12
Dinner Burger 9
Dessert Apple Pie 6
Dessert Chocolate Cake 5
我需要在SQL查询中显示Meal,Item和average_meal_cost。平均用餐成本给出了与用餐相关的所有项目的总体平均成本。例如,前2行在平均值列中将显示6。
答案 0 :(得分:5)
您可以将avg()
用作窗口函数:
select t.*, avg(cost * 1.0) over (partition by meal) as avg_meal_cost
from t;
* 1.0
是因为某些数据库将整数的平均值计算为整数。