Ajouter un compteur dans un SELECT sur SQL Server 2008

Pour les besoins d’un import dans SQL Server 2008, je devais ajouter un compteur dans un « select ». Il faut utiliser la fonction « ROW_NUMBER() OVER (ORDER BY (SELECT 1)) ».

Voici quelques exemples :

Compteur démarrant à 1 :

SELECT *,ROW_NUMBER() OVER (ORDER BY (SELECT 1)) 
FROM matable ;

Compteur démarrant à 25367 :

SELECT *,ROW_NUMBER() OVER (ORDER BY (SELECT 1)) + 25366
FROM matable ;

Compteur démarrant au dernier id + 1 d’une autre table :

SELECT *,ROW_NUMBER() OVER (ORDER BY (SELECT 1)) + (SELECT MAX(id) FROM monautretable)
FROM matable ;

Ceci devrait fonctionner sous SQL Server 2005.

Source de l’article : http://www.databasejournal.com/features/mssql/article.php/3661461/New-Ranking-Functions-within-SQL-Server-2005.htm

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.