问一个简单的SQL语句

来源:百度知道 编辑:UC知道 时间:2024/05/23 12:45:43
有表TABLE_TEXT,数据如下
NAME CODE(仅有2个字段,没有主键)
1--1 1
2--2 1
3--3 2
我需要查询的结果如下:
LINE NAME CODE
1 1--1 1
2 2--2 1
3 3--3 2
我就是想增加一个结果集的行号,要求显示结果集的时候自动生成,请问如何实现,这个行号我还有用.

SELECT line = ROW_NUMBER() OVER(ORDER BY name) ,name,code
from table_text 。sql server 2005以后能用。
mysql 没有这样的函数。
oracle 用ROWNUM

看你用的是什么数据库了,oracle可以这么写 select rownum from xxx
db2貌似没有显示行号的,但是可以添加一个自增字段,每添加一行数字加1,相当于行号。

i=0
do while not rsh.eof

...........
rsh.movenext
i=i+1

如果是sql2005就简单,用
select LINE=row_number(),NAME,CODE from TABLE_TEXT

如果是2000就麻烦了,他没有现成的函数,得用临时表

select LINE=identity(int,1,1),* into # from Email
select * from #
drop table #
#在这里为临时表的名字,可以自行修改~

select rownum line,name,code from your_table_name!
仅适合oracle