如果在select时怎样能加个行数呢?

awuZhang 2005-01-10 10:06:18
select * from a
id title
5 AAAAA
11 EEEE
44 GDEEEE
........
希望每次select出来后面能加一个行数,如下面的rowNum
id title rowNum
5 AAAAA 1
11 EEEE 2
44 GDEEEE 3
不管select后面where怎么写rowNum都是从第1行开始算起
...全文
258 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
oursaviour 2005-01-10
  • 打赏
  • 举报
回复
总结以上得出三种方法:

1.
select *,id=(select count(id) from 表 where id<=a.id) from 表 a

2.
select *,identity(int,1,1) as rowid into #a from 表
select * from #a
drop table #a

3.
升级到sql server 2005
select *,row_number() from 表

awuZhang 2005-01-10
  • 打赏
  • 举报
回复
to yesyesyes
select *,identity(int) into #t from a
select * from #t
如果生成临时表的话,这样是简单但是。。我的表a一有变动的话就要重新生成#t
但表的数据经常变动
awuZhang 2005-01-10
  • 打赏
  • 举报
回复
呵呵,我加分了,但是我的问题升级了, islion(獅子網) 那种方法就不能用了
我详细说明一下为什么我想得到个rowNum
-----------------------------------------------------
我有一张表 teach_course_class 中有个字段major_list值是'2002022043,2002022051,2002022052'
现在别人要求分根据','分开成多条记录
所以 select 时变成
id major_list
1 2002022043
1 2002022051
1 2002022052
没有关键字了,如果join别的表的话出出错
所以我希望select 成
id major_list rowNum
1 2002022043 1
1 2002022051 2
1 2002022052 3
用id和rowNum来做关键字来join别的表。。。。
yjzhg 2005-01-10
  • 打赏
  • 举报
回复
select identity(int,1,1) as id,* from table
meilian01 2005-01-10
  • 打赏
  • 举报
回复
select *,identity(int,1,1) into #tb from a
select * from #tb
yesyesyes 2005-01-10
  • 打赏
  • 举报
回复
select *,identity(int) into #t from a
select * from #t
Softlee81307 2005-01-10
  • 打赏
  • 举报
回复
你給的分太少了,
awuZhang 2005-01-10
  • 打赏
  • 举报
回复
islion(獅子網)可能你以为我只是要用来显示总计录数。
其实我显示行数是别的功能
daijingjie2002(代京杰) 谢谢,只是好像不能用。
islion 2005-01-10
  • 打赏
  • 举报
回复
我覺得沒有這個必要
你直接用SQL Query Analyzer(查詢分析器)里直接作業你就能實現你的要求!!!
如; select * from ......直接可以實現


試試看
daijingjie2002 2005-01-10
  • 打赏
  • 举报
回复
select *,id=(select count(id) from 表 where a.id>id) from 表 a
zjcxc 元老 2005-01-10
  • 打赏
  • 举报
回复
加identity吧,sql 没有这种处理函数
NinGoo 2005-01-10
  • 打赏
  • 举报
回复
既然是经常要用的,在表上新增一个identity的列不就行了?
郭大侠_ 2005-01-10
  • 打赏
  • 举报
回复
只能用临时表了,这个问题以前出现过好多次!
vinsonshen 2005-01-10
  • 打赏
  • 举报
回复
2005有row_number()?看来不错哦~~
WorldMobile 2005-01-10
  • 打赏
  • 举报
回复
select *, row_number() from 表

还是这种方法好

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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