Cela dépend de la base de données que vous utilisez. Une option qui fonctionne pour SQL Server, Oracle et MySQL :
SELECT ROW_NUMBER() OVER (ORDER BY SomeField) AS Row, *
FROM SomeTable
Changez SomeField et SomeTable en fonction de votre table spécifique et du champ pertinent à commander. Il est préférable que SomeField soit unique dans le contexte de la requête, naturellement.
Dans votre cas, la requête serait la suivante (Faiz a d'abord créé une telle requête) :
SELECT ROW_NUMBER() OVER (ORDER BY client_name) AS row_number, client_name
FROM (SELECT DISTINCT client_name FROM deliveries) TempTable
Je pense que cela ne fonctionnera pas pour SQLite (si quelqu'un peut me corriger ici, je serais reconnaissant), je ne sais pas quelle est l'alternative là-bas.