比较表c#mssqlserver中两列的结果

比较表c#mssqlserver中两列的结果,c#,select,C#,Select,我正在与VisualStudio 2013 Premium C和MSSQLServer合作 我想在截止日期前订购 然后(通过循环)我想知道表中下一列的StartDate何时低于当前列的EndDate StartDate和EndDate是秒 范例 起始日期 1 2 3 1 6 7 7 结束日期 3 3 4 5 7 8 10 这里是程序计数,直到EndDate 5 因为我不太明白你的解释,只是回答了你的问题 我想知道我在哪一秒接到最多的电话 void Main() {

我正在与VisualStudio 2013 Premium C和MSSQLServer合作

我想在截止日期前订购

然后(通过循环)我想知道表中下一列的StartDate何时低于当前列的EndDate

StartDate和EndDate是秒

范例

起始日期

1 
2 
3 
1 
6 
7 
7 
结束日期

3 
3 
4 
5 
7 
8 
10 
这里是程序计数,直到EndDate 5
因为我不太明白你的解释,只是回答了你的问题

我想知道我在哪一秒接到最多的电话

void Main()
{   
var startDate=new[]{1,2,3,1,6,7,7};
var endDate=new[]{3,3,4,5,7,8,10};
var maxcallscont=0;
var secondAtMaxCallsCount=0;
foreach(变量在Enumerable.Range(startDate.Min())中的秒数,
endDate.Max()-startDate.Min()+1))
{
var callscont=0;
对于(变量i=0;iif(startDate[i]我想我用
List
但是现在我不知道如何实现范围和循环。 以下是正确的吗

   foreach (var second in Enumerable.Range((int)beginningDate.FirstOrDefault(),
                                            (int)endDate.Last() - (int)beginningDate.FirstOrDefault() +1))
            {
                var callsCount = 0;

                for (var i = 0; i < beginningDate.Last(); ++i)
                {
                    if (beginningDate[i] <= second && second <= endDate[i])
                    {
                        ++callsCount;
                    }
                }

                if (callsCount > maxCallsCount)
                {
                    maxCallsCount = callsCount;
                }
            }
foreach(可枚举.Range((int)BeginingDate.FirstOrDefault()中的第二个变量),
(int)endDate.Last()-(int)beginningDate.FirstOrDefault()+1))
{
var callscont=0;
对于(变量i=0;i如果(beginningDate[i]这是我想要的,我甚至不需要第二个AtMaxCallsCount。我使用now List来传递我的参数。但是现在我不确定如何实现Enumerable.Range。这是正确的方法吗:很难理解你的解释,你能发布你的代码吗?这样我就可以看到你的错误了?
   foreach (var second in Enumerable.Range((int)beginningDate.FirstOrDefault(),
                                            (int)endDate.Last() - (int)beginningDate.FirstOrDefault() +1))
            {
                var callsCount = 0;

                for (var i = 0; i < beginningDate.Last(); ++i)
                {
                    if (beginningDate[i] <= second && second <= endDate[i])
                    {
                        ++callsCount;
                    }
                }

                if (callsCount > maxCallsCount)
                {
                    maxCallsCount = callsCount;
                }
            }