Záleží na databázi, kterou používáte. Jedna možnost, která funguje pro SQL Server, Oracle a MySQL:
SELECT ROW_NUMBER() OVER (ORDER BY SomeField) AS Row, *
FROM SomeTable
Změnit SomeField a SomeTable je podle vaší konkrétní tabulky a příslušného pole, podle kterého si můžete objednat. Je preferováno, aby SomeField bylo v kontextu dotazu jedinečné.
Ve vašem případě by byl dotaz následující (Faiz takový dotaz vytvořil jako první):
SELECT ROW_NUMBER() OVER (ORDER BY client_name) AS row_number, client_name
FROM (SELECT DISTINCT client_name FROM deliveries) TempTable
Myslím, že to nebude fungovat pro SQLite (pokud mě zde někdo opraví, budu vděčný), nejsem si jistý, jaká je tam alternativa.