Home  >  Article  >  Database  >  让SELECT 查询结果额外增加自动递增序号

让SELECT 查询结果额外增加自动递增序号

WBOY
WBOYOriginal
2016-06-07 14:54:451528browse

如果数据表本身并不内含自动地增编号的字段时,要怎么做才能够让SELECT查询结果,额外增加自动递增序号呢?我们提供下列五种方法供您参考: 自增长 USE 2 GO 3 4 /* 方法一*/ 5 6 SELECT序号= (SELECT COUNT(客户编号) FROM 客户 AS LiMing 7 WHERE LiMing.

如果数据表本身并不内含自动地增编号的字段时,要怎么做才能够让SELECT查询结果,额外增加自动递增序号呢?我们提供下列五种方法供您参考: 自增长
USE
 2 GO
 3 
 4 /* 方法一*/
 5 
 6 SELECT序号= (SELECT COUNT(客户编号) FROM 客户 AS LiMing
 7                      WHERE LiMing.客户编号<= Chang.客户编号),
 8         客户编号,公司名称
 9 FROM客户 AS Chang ORDER BY 1;
10 GO
11 
12 /* 方法二: 使用SQL Server 2005 独有的RANK() OVER () 语法*/
13 SELECT RANK() OVER (ORDER BY 客户编号 DESC) AS 序号,
14           客户编号,公司名称
15 FROM客户;
16 GO
17 
18 /* 方法三*/
19 SELECT序号= COUNT(*), LiMing.客户编号, LiMing.公司名称
20     FROM 客户 AS LiMing, 客户AS Chang
21     WHERE LiMing.客户编号>= Chang.客户编号
22     GROUP BY LiMing.客户编号, LiMing.公司名称
23     ORDER BY 序号;
24 GO
25 
26 /* 方法四
27 建立一个「自动编号」的字段,然后将数据新增至一个区域性暂存数据表,
28 然后由该区域性暂存数据表中,将数据选取出来,最后删除该区域性暂存数据表
29 */
30 SELECT序号= IDENTITY(INT,1,1),管道,程序语言,讲师,资历
31 INTO #LiMing
32 FROM问券调查一;
33 GO
34 SELECT * FROM #LiMing;
35 GO
36 DROP TABLE #LiMing;
37 GO
38 
39 /*
40 方法五
41 使用 SQL Server 2005 独有的ROW_NUMBER() OVER () 语法
42 搭配 CTE (一般数据表表达式,就是 WITH 那段语法)选取序号2 ~ 4 的数据
43 */
44 WITH排序后的图书 AS
45 (SELECT ROW_NUMBER() OVER (ORDER BY 客户编号 DESC) AS 序号,
46    客户编号,公司名称
47     FROM 客户)
48 SELECT * FROM 排序后的图书
49 WHERE序号 BETWEEN 2 AND 4;
50 GO
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn