例如,我有一个包含2列的表,first_name
并last_name
具有这些值
Ali Khani
Elizabette Amini
Britney Spears
,...
我想编写一个select
查询,生成如下表:
1 Ali Khani
2 Elizabette Amini
3 Britney Spears
,...
谢谢你的帮助。
Answers:
table1
,而不是first_name
和last_name
,我怎么可以参考呢?尝试SELECT @n := @n + 1 n, *
不起作用
SELECT @n := @n + 1 n, table1.*
SET @n = 0;
(SELECT @n := 0)
。这种方法的隐藏优点在于,您只有一个语句,而不是两个语句,这在客户端代码中禁止使用多个语句时是很好的选择。
这是SQL server, Oracle, PostgreSQL
支持窗口功能的地方。
SELECT ROW_NUMBER() OVER (ORDER BY first_name, last_name) Sequence_no,
first_name,
last_name
FROM tableName