Avatar billede orca Nybegynder
18. august 2005 - 23:54 Der er 5 kommentarer og
1 løsning

Nummering af rækker

Hey

Jeg laver et udtræk som returnerer X antal rækker. Disse rækker skal have tilføjet et ekstra kolonne som nummererer dem fra nummer 1 til X. Kan det gøres uden en SP der løber resultatet igennem?
Avatar billede arne_v Ekspert
18. august 2005 - 23:57 #1
Hvorfor lader du ikke din applikation tælle op ? Det er ihvertfald nemt.
Avatar billede orca Nybegynder
19. august 2005 - 00:04 #2
Det er fordi jeg gerne ville klare så meget udregning som muligt på database siden. Ud fra rækkens nummer bliver der udregnet et tal, baseret på nogle af de andre kolonner. Hvis jeg kunne trække dette tal direkte ud vha et udtrtæk, så ville det være helt optimalt.
Avatar billede terry Ekspert
19. august 2005 - 09:21 #3
SELECT *,  (Select Count (*) from YourTable Where [ID] < [T1].[ID])+1 AS Ranking
FROM YourTable AS T1 ORDER BY T1.ID
Avatar billede orca Nybegynder
19. august 2005 - 18:23 #4
Perfekt terry, den udfører det ønskede. Jeg har ikke udført nogen test, men jeg kan forestille mig at den er forfærdeligt ineffektiv ved større datamængder?
Avatar billede arne_v Ekspert
19. august 2005 - 18:34 #5
det er noget nemmere i Oracle ...
Avatar billede terry Ekspert
20. august 2005 - 10:32 #6
thanks orca. If the fields you use for selecting the count in the sub select are indexed, ID in this example, then it will help in performance, but there will be some overhead.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester