我在SQL Server 中有一个如下表
id datetime temperature
1 2020-01-1 10:00 22
2 2020-01-1 10:20 23
3 2020-01-1 10:40 27
4 2020-01-1 11:00 20
5 2020-01-1 11:20 19
6 2020-01-1 10:40 10
我想创建一个查询,平均任何一个小时,如下
id datetime temperature
1 2020-01-1 10:00 24 */ average for 10 o clock
2 2020-01-1 11:00 16.33 */ average for 11 o clock
有人能帮忙吗?
您可以使用GroupBy
然后使用Average
来实现它。
计算一系列数值的平均值。
var result = dbContext.your_table.GroupBy(p => new { p.Id, p.datetime })
.Select(g => new
{
id = g.Keys.Id,
datetime = g.Keys.datetime,
temperature = g.Select(p => p.temperature).Average()
});