小编典典

SQL在查询结果中输出行号

sql

我想为sql查询的结果中的每一行生成一个行号。如何做到这一点?

例如:在请求

select distinct client_name from deliveries

我想添加一列以显示行号

我正在使用sql server 2005。


阅读 156

收藏
2021-03-23

共1个答案

小编典典

这取决于您使用的数据库。一种适用于SQL Server,Oracle和MySQL的选项:

SELECT ROW_NUMBER() OVER (ORDER BY SomeField) AS Row, *
FROM SomeTable

更改SomeField和SomeTable是根据您的特定表和相关字段进行排序的。自然,优选SomeField在查询上下文中是唯一的。

在您的情况下,查询将如下所示(Faiz首先制作了这样的查询):

SELECT ROW_NUMBER() OVER (ORDER BY client_name) AS row_number, client_name
FROM (SELECT DISTINCT client_name FROM deliveries) TempTable

我认为它不会对SQLite的工作(如果有人能在这里纠正我,我将不胜感激),我不知道有什么替代那里。

2021-03-23