【发布时间】:2015-03-13 14:00:26
【问题描述】:
我有一个表格,里面有类似的数据
Date Users
------------------
01/03/2015 25
02/03/2015 28
04/03/2015 36
07/03/2015 45
08/03/2015 47
我使用 Row_Number 在 Sql Server 中创建了一个表值函数,它给了我如下输出,我用于进一步处理
Date Users UsersAdded
----------------------------------
01/03/2015 25 0
02/03/2015 28 3
04/03/2015 36 8
07/03/2015 45 9
08/03/2015 47 2
但是,我现在需要在 Linq 中做同样的事情,但它没有 Row_Number 函数。我查看了How do I translate a query that uses ROW_NUMBER() into linq?,但这与我的查询无关。
我在 SQL 中的查询在日期字段上有 Rownum,而查询是
select date, Users, (T1.Users - isnull(T2.Users,0)) as UsersAdded
from tableuser T1
join tableuser T2 on T1.Rownum = (T2.RowNum +1)
我是 LINQ 的新手,所以甚至不知道如何开始这个查询。任何帮助将不胜感激。
【问题讨论】:
-
我在您的示例数据中看不到
RowNum列。您还没有在 sql 查询中使用Row_Number。所以这很模糊。 -
那条 SQL 还能运行吗?看起来您使用的是名为
RowNum的列,而不是ROW_NUMBER()函数。 -
我的表没有 rownum 列,我需要使用 linq 添加它并获得以下输出。
-
您需要在表中添加一列并填充它,还是需要计算查询中的行号?
-
我需要将 rownum 列添加到临时表中,这样我就可以像在我的 sql 查询中所做的那样使用该表进行自我连接并获得所需的输出
标签: c# sql linq linq-to-sql