sql 如何按照数据原本顺序加序号

外星茹敬雨拦不住 2016-02-26 02:30:21
读入的文本数据是已经排好的,比如表1:
列1
d
f
a
要在前面依次加上1 2 3 的序号,按照原来的顺序加就行,怎么弄呢?
希望加完序号:
id 列1
1 d
2 f
3 a
之前用的加序号的方法一直是:
select
ROW_NUMBER() over(列1),
*
from 表1
但是这样加完之后顺序就变了:
变成
1 a
2 d
3 f

谁有好的办法,保持原来顺序不变的,指点一下,谢谢。
...全文
786 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmakebest 2016-02-27
  • 打赏
  • 举报
回复
不存在所谓的原来的顺序, 现在的数据库只能按字段排序. 除非一开始就给表加上自动编号
中国风 2016-02-27
  • 打赏
  • 举报
回复
引用 2 楼 rjy1989 的回复:
[quote=引用 1 楼 roy_88 的回复:] select ROW_NUMBER() over(ORDER BY getdate()), * from 表1 --用标量值就行了
不行啊,我这个代码如下: 其实就是想把‘[bus_test].[dbo].[busline]’这个表的表头,加个序号,按顺序输出,按照您的方法,输出仍然是按照表头的英文字母顺序排的。 with busline_head_temp as( select name from sys.syscolumns where id=object_id('[bus_test].[dbo].[busline]') ) select ROW_NUMBER() over(ORDER BY getdate()) as 'ID' ,* from busline_head_temp;[/quote] 不可能不行,把部分数据贴出来,直接给你测试结果
  • 打赏
  • 举报
回复
引用 1 楼 roy_88 的回复:
select ROW_NUMBER() over(ORDER BY getdate()), * from 表1 --用标量值就行了
不行啊,我这个代码如下: 其实就是想把‘[bus_test].[dbo].[busline]’这个表的表头,加个序号,按顺序输出,按照您的方法,输出仍然是按照表头的英文字母顺序排的。 with busline_head_temp as( select name from sys.syscolumns where id=object_id('[bus_test].[dbo].[busline]') ) select ROW_NUMBER() over(ORDER BY getdate()) as 'ID' ,* from busline_head_temp;
中国风 2016-02-26
  • 打赏
  • 举报
回复
select ROW_NUMBER() over(ORDER BY getdate()), * from 表1 --用标量值就行了

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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