列平均值

时间:2019-08-29 18:28:48

标签: sql

我有下表

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。

1 个答案:

答案 0 :(得分:5)

您可以将avg()用作窗口函数:

select t.*, avg(cost * 1.0) over (partition by meal) as avg_meal_cost
from t;

* 1.0是因为某些数据库将整数的平均值计算为整数。

相关问题