C# 缺少数据项的SQL列求和
下面是一个示例SQL表:C# 缺少数据项的SQL列求和,c#,sql-server,linq,C#,Sql Server,Linq,下面是一个示例SQL表: Account Date Balance A 2013-12-19 17:01:00.000 500 B 2013-12-19 17:01:00.000 400 C 2013-12-19 17:01:00.000 300 A 2013-12-19 17:02:00.000 200 C 2013-12-19 17:02:00.000
Account Date Balance
A 2013-12-19 17:01:00.000 500
B 2013-12-19 17:01:00.000 400
C 2013-12-19 17:01:00.000 300
A 2013-12-19 17:02:00.000 200
C 2013-12-19 17:02:00.000 100
B 2013-12-19 17:03:00.000 600
C 2013-12-19 17:03:00.000 700
我想对每分钟的所有帐户求和,如果缺少条目,则使用最新条目。结果应该是这样的:
2013-12-19 17:01:00.000 1200
2013-12-19 17:02:00.000 700
2013-12-19 17:03:00.000 1500
有人可以在SQLServer中这样做吗
这是我尝试过的:
var query = (from r in table.AsEnumerable() let eventTime = (DateTime)r[1] group r by new DateTime(eventTime.Year, eventTime.Month, eventTime.Day, eventTime.Hour, eventTime.Minute, eventTime.Second) into g select table.LoadDataRow( new object[] { g.Key, g.Sum(r => (double)r[2])},false)).ToList();
但是,如果有一条记录丢失,则不会提取最新记录 如果您给出的表格是假设表格A,则: 选择日期、金额(余额) 从表A
按日期分组您尝试过哪些报表?使用并且您需要使用
按日期列的科目和分钟分组,并获取余额列的总和:)var query=(从dtCurrent.AsEnumerable()中的r开始)让eventTime=(DateTime)r[1]按新日期时间分组r(eventTime.Year、eventTime.Month、eventTime.Day、eventTime.Hour、eventTime.Minute、eventTime.Second)放入g select table.LoadDataRow(新对象[]{g.Key、g.Sum(r=>(double)r[3]),false)).ToList();您的意思是什么…如果缺少条目,请使用最新条目。如果您的表确实被称为表a
,则需要在表名周围加上方括号。来自[表a]group by…