我有一个包含以下数据的数据表:
LINE | SIGN | DATE
-----------------------------------------
1 | 1 | 2015-03-02 11:23:25
1 | 1 | 2015-03-02 18:24:03
1 | 1 | 2015-03-03 05:38:49
1 | 0 | 2015-03-03 08:47:02
1 | 1 | 2015-03-03 14:01:31
1 | 1 | 2015-03-03 21:11:53
1 | 1 | 2015-03-04 09:34:04
1 | 0 | 2015-03-04 15:29:27
1 | 0 | 2015-03-04 19:28:33
如您所见,数据按日期排序,我的要求是获取信号的总分钟数。比如信号是多少分钟是1,信号是多少分钟。
我需要一个LINQ查询来获得结果。
目前我的想法是我可能需要进行for循环并添加分钟数。我不知道这是否是唯一的方法:
int noOfMinutesFor1 = 0;
for (int i = 1; i < signalData.Count; i++)
{
if((signalData[i - 1].SIGN == signalData[i].SIGN == 1) || (signalData[i].SIGN == 1 && signalData[i - 1].SIGN == 0))
{
noOfMinutesFor1 += (signalData[i].SIGN - signalData[i - 1].SIGN).TotalMinutes;
}
}