这是一个示例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 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();
如果缺少最新记录,则不会提取最新记录。
答案 0 :(得分:2)
如果你给出的表是假设表A,那么:
选择日期,总和(余额) 从表A 按日期分组