Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

WBOY
Freigeben: 2016-06-07 14:54:45
Original
1567 Leute haben es durchsucht

如果数据表本身并不内含自动地增编号的字段时,要怎么做才能够让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
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage