(一)行号显示和排序
1.sql Server的行号
A.sql 2000使用identity(int,1,1)和临时表,可以显示行号SELECT
identity(int,1) AS ROWNUM,
[DataID]
INTO #1
FROM DATAS
order by DataID;
SELECT FROM #1
B.sql 2005提供一个很好用的函数row_number(),
可以直接用来显示行号,当然也可以使用sql 2000的identity
SELECT
row_number()over(ORDER BY DataID) AS ROWNUM,
[DataID]
FROM DATAS;
这里如果添加排序功能,则先排序再添加行号
2.ORACLE的行号显示
使用ROWNUMSELECT
ROWNUM,
[DataID]
FROM DATAS
order by DataID
注意:先加行号再排序,如果想排序好再加行号就要使用子查询
3.取前n条数据
A.sql版
select top n [DataID] from DATAS
B.ORACLE版
SELECT
[DataID]
FROM DATAS where ROWNUM<=n
其中,n>=1
ORACLE的ROWNUM不能应用于大于,只能 ROWNUM= 1,或者<= 大于1 的自然数
(二)sql分页的几种方式
以每页10条数据为例,查询第三页数据,即21-30这些记录 1.分页方案一:(利用Not In和SELECT TOP分页)
语句形式: <div class="codetitle"><a style="CURSOR: pointer" data="42194" class="copybut" id="copybut42194" onclick="doCopy('code42194')"> 代码如下: