使用投影查询的当前周的数据总和
本文关键字:数据 投影 查询 | 更新日期: 2023-09-27 17:58:06
我想为本周在数据库中总共做一些字段。例如,如果今天是星期三,我想做当前星期一到星期三的总数,如果是星期四,那么星期一到周四。。我将如何使用NHibernate中的投影查询来做到这一点?在下面的代码中,我将如何对数据进行分组,使其仅显示当前周的总和。数据库中的日期字段名为MyDate,其类型为datetime。
DateTemplate.Criteria = DetachedCriteria.For(typeof(MyBill));
DateTemplate.Criteria.SetProjection(
Projections.ProjectionList()
.Add(Projections.Sum(Projections.Conditional
(Restrictions.Eq("PayType", "ABC"),
Projections.Constant(1), Projections.Constant(0))), "GCashSales")
.Add(Projections.Sum(Projections.Conditional
(Restrictions.Eq("PayType", "DEF"),
Projections.Constant(1), Projections.Constant(0))), "GCreditSales"));
最简单的方法可能是计算查询之外的开始/结束日期,并在投影列表中添加Between
限制。
.Add(Restrictions.Between("MyDate", startDate, endDate))