首先,我是NHibernate的新手。这是我的问题:
我将数据存储在数据库中,并且DB中的每个样本都具有属性Date和数值。现在我想知道,有什么办法,我可以选择一些数据并计算每3秒间隔的平均值(数值)吗?
我正在使用QueryOver。
感谢您的帮助。
答案 0 :(得分:1)
这是一个简单的小组。但我不使用queryover。尝试转换以下linq-to-nhibernate查询:
var test = session.Query<Entity>()
.GroupBy(e =>
new
{
e.YourDate.Date,
e.YourDate.Hour,
e.YourDate.Minute,
threeSec = e.YourDate.Second / 3
})
.Select(g =>
new {
g.Key.Date,
g.Key.Hour,
g.Key.Minute,
g.Key.threeSec,
avg = g.Average(e => e.YourNumeric)
})
.ToList();
在大数据集上,它可能表现不佳。服务器不太可能在这样的组上使用索引。