gpt4 book ai didi

c# - 作为查询的一部分返回 rownumber()

转载 作者:太空宇宙 更新时间:2023-11-03 23:22:13 26 4
gpt4 key购买 nike

我有一个返回到数据表 dtStories (c#) 的 SQL 查询。

with records as (select row_number() over (order by pages.createdate desc)as 'row', 
field1, field2...etc. from records where row between 1 and 7

(在其他情况下我需要“第 n 行”或在 x 和 y 行之间,因此我没有使用简单的选择前 7 条查询。)

我试图根据它所在的行做一些稍微不同的事情,所以我查询行 [0] 认为这会有行号。但是,检查我的 SQL Server 中的返回,它实际上只返回字段1,字段 2...等等,这显然是我的

foreach (Datarow row in dtStories)
{
if (row[0].ToString() == "1")
{
...
}
}

不起作用。

有没有办法确保行作为 SQLQuery 的一部分返回到数据表中,或者使用 c# 只访问表的第 1 行、第 2 行等?

最佳答案

您没有显示整个 select 语句,因此不可能知道您实际在做什么。我们之所以可以分辨出这一点,是因为 () 不匹配。

我希望您的代码(缩进清楚)看起来像这样:

with records as 
(
select row_number() over (order by pages.createdate desc)as 'row',
field1, field2 -- ...
from original_table
)
select
field1, field2 -- ...
from records
where row between 1 and 7

现在应该很清楚了......将您需要的行列包含在第二个选择列表中(在 CTE 之外)

with records as 
(
select row_number() over (order by pages.createdate desc)as 'row',
field1, field2 -- ...
from original_table
)
select row, -- here!
field1, field2 -- ...
from records
where row between 1 and 7

关于c# - 作为查询的一部分返回 rownumber(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35041398/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com