Générer la Ligne des Numéros de Série dans la Requête SQL
J'ai une transaction avec le client de la table. J'ai besoin de créer une requête qui inclut un numéro de série de la pseudo-colonne. Le numéro de série devrait être automatiquement remis à zéro et recommencer à partir de 1 dès le changement de l'ID du client.
Maintenant, je suis familier avec la fonction row_number() en SQL. Ce qui ne marche pas exactement résoudre mon problème parce que, au meilleur de ma connaissance, le numéro de série ne sera pas remis à zéro dans le cas où la commande de lignes de changement.
Je veux le faire en une seule requête (SQL Server) et sans avoir à passer par une table temporaire d'utilisation etc.
Des idées?
Merci d'avance
Le
ROW_NUMBER()
fonction de classement a également la capacité de partition vos données - découvrez le PARTITION BY
clause dans le OVER(.....)
section de ROW_NUMBER()
OriginalL'auteur Nomad | 2011-03-23
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas certain, basé sur votre question si vous voulez des lignes numérotées qui se souviennent de leur nombre, même si les données sous-jacentes des changements (et donne un autre ordre), mais si vous voulez juste des lignes numérotées - reset sur un changement de l'ID de client, puis essayez d'utiliser la Partition par la clause de la fonction row_number()
row_number() over(partition by CustomerID order by CustomerID)
- lePARTITION BY
doit venir en premier, et autant que je sache, il n'y a pas de virgule entre la partition et des clauses order byJe vais prendre votre mot - été quelques mois depuis que j'ai eu à faire beaucoup de SQL. Merci pour la correction.
Vous pouvez toujours vérifier sur MSDN Livres en Ligne 🙂
oui merci...c'était exactement ce dont j'avais besoin
OriginalL'auteur jlnorsworthy
Parfois, on peut ne voulez pas appliquer de la commande sur notre jeu de résultats pour ajouter un numéro de série. Mais si nous allons utiliser
ROW_NUMBER()
alors nous devons avoir uneORDER BY
clause. Donc, pour que nous puissions tout simplement à appliquer une astuces pour éviter toute prise de commande sur le jeu de résultats.Pour cela nous n'avons pas besoin de faire de l'ordre sur notre jeu de résultats. Nous allons juste ajouter
ItemNo
sur notre résultat fourni.OriginalL'auteur Avishek
Quelle est la signification de "rep se prostituer!". Pensez-vous qu'il est bon d'écrire de tels propos sur un forum public, par une personne éduquée comme vous?
C'est un terme. meta.stackoverflow.com/tags/rep-whoring/info
OriginalL'auteur Merin Nakarmi
OriginalL'auteur santosh Kundkar
OriginalL'auteur Sagar Mahajan