这取决于您使用的数据库。一种适用于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