C#怎么获取数据库当前数据所在的行号

gezhu1212 2021-05-12 03:27:05
如何获取当前数据库的数据的行号,不是行数
...全文
1937 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
shijies 2021-05-17
  • 打赏
  • 举报
回复
c# DataTable select 过滤返回新DataTable DataRow[] dr = dt.Select(“col='XXXX'”);//条件:就是字段名='某某' /// 执行DataTable中的查询返回新的DataTable /// </summary> /// <param name="dt">源数据DataTable</param> /// <param name="condition">查询条件</param> /// <returns></returns> private DataTable GetNewDataTable(DataTable dt, string condition,string sortstr) { DataTable newdt = new DataTable(); newdt = dt.Clone(); DataRow[] dr = dt.Select(condition,sortstr); for (int i = 0; i < dr.Length; i++) { newdt.ImportRow((DataRow)dr[i]); } return newdt;//返回的查询结果 }
six2me 2021-05-17
  • 打赏
  • 举报
回复
个人理解就是个主键,不管是行号,id,都可以是一个理解
wanghui0380 2021-05-17
  • 打赏
  • 举报
回复
请先说明排序规则,你要编号。编号当然是要排序的,这里讨论在多都没意义。因为你没给排序规则,按啥排序啊,入库的自然顺序?某个列顺序??
xiaoxiangqing 2021-05-17
  • 打赏
  • 举报
回复
除非数据库里加一列
gudamzero 2021-05-17
  • 打赏
  • 举报
回复
--PARTITION by和ROW_NUMBER() over的用法
create table #score
(
name varchar(20),
subject varchar(20),
score int
)
--2.插入测试数据
insert into #score(name,subject,score) values('张三','语文',98)
insert into #score(name,subject,score) values('张三','数学',80)
insert into #score(name,subject,score) values('张三','英语',90)
insert into #score(name,subject,score) values('李四','语文',88)
insert into #score(name,subject,score) values('李四','数学',86)
insert into #score(name,subject,score) values('李四','英语',88)
insert into #score(name,subject,score) values('李明','语文',60)
insert into #score(name,subject,score) values('李明','数学',86)
insert into #score(name,subject,score) values('李明','英语',88)
insert into #score(name,subject,score) values('林风','语文',74)
insert into #score(name,subject,score) values('林风','数学',99)
insert into #score(name,subject,score) values('林风','英语',59)
insert into #score(name,subject,score) values('严明','英语',96)

--这条语句可以根据学科分组,根据分数进行排列,最后ROW_NUMBER() over会为每个分组进行排名编号,可以看到排名那里123..名
select *,ROW_NUMBER() over( partition by subject order by score )排名
from #score
大山楂 2021-05-16
  • 打赏
  • 举报
回复
你可以建一个行号的列
shijies 2021-05-15
  • 打赏
  • 举报
回复
就是当前游标所指向的行
yangniao 2021-05-15
  • 打赏
  • 举报
回复
9楼的方法最好
闪耀星星 2021-05-15
  • 打赏
  • 举报
回复
ROW_NUMBER() OVER(ORDER BY getdate()) as '行号'
AlphaGroup 2021-05-14
  • 打赏
  • 举报
回复
行号主要是用来做分页的。删除还是要用自建的primarykey。这是两回事。排名涉及rank函数和分区等函数,具体参见sql server手册。
Bridge_go 2021-05-14
  • 打赏
  • 举报
回复
with temp as
  (select ROW_NUMBER() over(order by id) as [RowNum],* from [Table])
  select [RowNum] from temp where [ID] = 10
morliz子轩 2021-05-13
  • 打赏
  • 举报
回复
这是个什么问题。建表结构,有个id 自增字段,就解决的事。 为什么要这么做。 如果是自定义查询体,在select 后面,第一个字段加这个就可以了:

select row_number() over(order by getdate()) as Id, 

就是行索引了。
YBcsdn1996 2021-05-12
  • 打赏
  • 举报
回复
引用 3 楼 gezhu1212 的回复:
[quote=引用 2 楼 YBcsdn1996的回复:] 希望rownumber 能帮到你

Rownumber怎么用?能给段代码吗?[/quote] 9楼已贴
  • 打赏
  • 举报
回复
引用 8 楼 hui1202 的回复:
。。数据库还有行号这一说????? 那我查一个按行号删,同时别人删了中间一批这行号你拿了有什么用。。
肯定有,也可以叫序号。一般在成绩排名需要知道排名的地方使用
  • 打赏
  • 举报
回复
sqlserver示例 select *,ROW_NUMBER() OVER(ORDER BY UserID asc) as '序号' from UserInfo
hui1202 2021-05-12
  • 打赏
  • 举报
回复
。。数据库还有行号这一说????? 那我查一个按行号删,同时别人删了中间一批这行号你拿了有什么用。。
  • 打赏
  • 举报
回复
NJHouse_JFSJ 是你的表,这样查就每个都有行号 了 SELECT @num := @num + 1 as num ,b.jfsj FROM (SELECT @num:=0)a, NJHouse_JFSJ b 如果是oracle,就是用rownum()
  • 打赏
  • 举报
回复
mysql示例 SELECT @num := @num + 1 as num,''as AA1,'' as AA2 FROM (select 0 union all select 1 union all select 2 ) t1, (select 0 union all select 1 union all select 2 ) t2, (select 0 union all select 1 union all select 2 ) t3, (select 0 union all select 1 union all select 2 ) t4, (select 0 union all select 1 ) t5, (SELECT @num:=0) r
xuzuning 2021-05-12
  • 打赏
  • 举报
回复
数据库 家没有行号的概念 你想要做什么请只说
gezhu1212 2021-05-12
  • 打赏
  • 举报
回复
引用 2 楼 YBcsdn1996的回复:
希望rownumber 能帮到你
Rownumber怎么用?能给段代码吗?
加载更多回复(2)

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧