sql语句查询*每行*的行数

来源:百度知道 编辑:UC知道 时间:2024/09/20 18:47:45
sql语句查询*每行*的行数
例如第九行,则为9,
第22行,则为22.
1 1
3 2
4 3
5 4
6 5
8 6
12 7

行号,是指在一定顺序的记录中排列的名次数。

在SQL中,如果没有排序,记录顺序是不一定的,

所以,也就不能确定行号(这叫已知条件不足吧)。

但是您如果告诉了要按什么顺序排列,就可以很简单地求出行号。

比如按您给出的两列COL1,COL2排序,就可以这样求行号:
SELECT 行号=(select count(1) from tablename a where a.col1*10000+a.col2<=tablename.col1*10000+tablename.col2),* from tablename order by col1,col2

并不是所有数据库有行号的,我所知道的也只是informix有rowid的概念

关系型数据库,按理是没有顺序的,除非加了ORDER BY
不过你可以用ROWID的伪列来做这个事情.ORACLE支持但是MS SQL,MYSQL,ASE都不支持

如果你纯粹是想在查询的时候,出现一个列用来标记行号,你可以查询增加一个IDENTITY(1)