实体框架+SQL Server中列的平均部分



我在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()
});

最新更新