首页 > 解决方案 > SQL如何获得每天的平均值

问题描述

您好,我有一张如下所示的表格:

火车 日期 乘客
1 2020-01-01 100
2 2020-01-01 50
3 2020-01-01 25
1 2020-01-02 90
2 2020-01-02 30
3 2020-01-02 40
1 2020-01-03 80
2 2020-01-03 20
3 2020-01-03 60

我需要平均每天,但因为日期与此代码中每 3 行的日期相同:

SELECT Date, Train, avg(Passengers) AS Avg_Passengers
FROM trainstation
WHERE Date != Date + 1 -- I know it's wrong like this but I don't know how to make a condition like this
group by Date, Train

我得到一个错误,没有WHERE我得到同一张桌子,但在浮点类型中乘客人数

我想要的结果:

日期 Avg_Passengers
2020-01-01 58.333
2020-01-02 46.666
2020-01-03 53.333

标签: mysqlsql

解决方案


如果您想要每列火车的平均乘客数,您可以使用:

SELECT Train, avg(Passengers) AS Avg_Passengers
FROM trainstation
GROUP BY Train;

如果您想要每天所有列车的平均值:

SELECT Date, avg(Passengers) AS Avg_Passengers
FROM trainstation
GROUP BY Date;

推荐阅读