为了清楚起见,按照建议将问题总结在一行中:
我想找到对某个字段具有不同值且相隔不到一周的所有事物(基于另一个字段)
假设我有一张Users
桌子和一User
堂课。
每个User
都有以下字段:
SignUpDate
非空DateTime
字段UserType
一个 int 字段,对于这个问题,假设它是1
or0
我想选择所有注册时间少于 7 天且具有不同用户类型的用户。
我当前的(悲惨的)尝试包括一个OrderBy(r=>r.SignUpDate)
和一个 .ToList
,这并不是什么大问题,因为每两周的用户数量并不大。(我从重叠的几周中抓取了所有用户并比较了数据)。
但是,我发现我目前的解决方案很差。我不知道解决这个问题的正确方法是什么。
我认为这里的核心问题是我不知道如何在订购后解决 LINQ to Entities 中“选择每两个对应记录”的概念。
非常感谢任何帮助,我对如何在将来不开始自己的问题的情况下解决此类问题感兴趣。
示例输入
SignUpDate UserType
------------------------------------
2008-11-11 1
2008-11-12 0
2008-11-13 0
2008-12-13 0
2008-12-15 1
示例输出
任何有意义的方式来表明有问题的对是:
2008-11-11 1
2008-11-12 0
(不同的日子和不同的类型)
和
2008-12-13 0
2008-12-15 1
(不同的两天和不同的类型)
这是我找到的相关 SQL 解决方案。