Inclure le numéro de ligne dans le résultat de la requête (SQL Server)

Je pense que chaque ligne du server sql reçoit un numéro unique. Comment puis-je inclure cela dans mes résultats de requête SQL?

Si vous faites reference au numéro de ligne fourni par Management Studio lorsque vous exécutez une requête, il n'y a aucun moyen de l'get car il n'existe pas réellement. Management Studio génère cela à la volée. Vous pouvez toutefois recréer un nombre séquentiel à l'aide de la fonction de classment ROW_NUMBER si vous utilisez SQL Server 2005 ou version ultérieure. Notez que vous ne devez jamais supposer que la database returnnera les lignes dans un ordre spécifié, sauf si vous incluez une instruction Order By. Votre requête pourrait donc ressembler à ceci:

Select .... , Row_Number() Over ( Order By T.SomeColumn ) As Num From Table As T Order By T.SomeColumn 

La command Order By dans la clause Over est utilisée pour déterminer l'ordre de création des numéros séquentiels. La clause Order By à la fin de la requête est utilisée pour déterminer l'ordre des lignes dans la sortie (c'est-à-dire que l'ordre du numéro de séquence et l'ordre des lignes peuvent être différents).

L'unicité dans votre résultat sera toujours votre key primaire.

Mais il y a quelque chose appelé ROW_NUMBER qui peut être utilisé comme identité unique de ligne dans un résultat spécifique.

 SELECT zip,city,state,latitude,longitude,timezone,dst, ROW_NUMBER() OVER (ORDER BY zip) AS num FROM dbo.zipcode; 

Je pense que vous devriez utiliser celui-ci ….

DCount('Column_Name','Table_Name','Column_Name <= ' & [Column_Name]) as SR