Depende do banco de dados que você está usando. Uma opção que funciona para SQL Server, Oracle e MySQL:
SELECT ROW_NUMBER() OVER (ORDER BY SomeField) AS Row, *
FROM SomeTable
Alterar SomeField e SomeTable está de acordo com sua tabela específica e campo relevante para ordenar. É preferível que SomeField seja único no contexto da consulta, naturalmente.
No seu caso, a consulta seria a seguinte (Faiz criou essa consulta primeiro):
SELECT ROW_NUMBER() OVER (ORDER BY client_name) AS row_number, client_name
FROM (SELECT DISTINCT client_name FROM deliveries) TempTable
Eu acho que não vai funcionar para SQLite (se alguém puder me corrigir aqui eu ficaria grato), não tenho certeza qual é a alternativa lá.