Avatar billede ml Nybegynder
20. juni 2001 - 10:09 Der er 11 kommentarer

SELECT * FROM (SELECT TOP 20 ORDER BY ) ORDER BY

Hvordan laver jeg en ORDER BY på en TOP 20 som også er ORDER BY ?? :]

Dette eksempel virker ikke:

Sql = \"SELECT * FROM (SELECT TOP 20 felt1, felt2, felt3, FROM tabel1 WHERE felt1 = \'24\' ORDER BY felt2) ORDER BY felt3\"

Får fejlen:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword \'ORDER\'.

/test.asp, line 115
Avatar billede gizmo-gizmo Nybegynder
20. juni 2001 - 10:11 #1
SELECT TOP 20 felt1, felt2, felt3, FROM tabel1 ORDER BY felt2 limit 0,20
Avatar billede ml Nybegynder
20. juni 2001 - 10:19 #2
Den tager jo bare top 20\'en...

Jeg skal sortere top 20\'en som allerede er sorteret efter noget andet.

f.eks. top 20 efter downloads skal så sorteres efter f.eks. id. Hvis man blot tager top efter id bliver det jo ikke det samme, da top 20\'en skal være fra downloads. - Hvis du forstår ;)
Avatar billede sbm Nybegynder
20. juni 2001 - 11:40 #3
Du skal blot komma-separere de ting du vil sortere efter med angivelse af om det skal være stigende eller faldende orden.

Eksempel

SELECT * FROM TABEL ORDER BY KOLONNE1 ASC, KOLONNE2 DESC
Avatar billede sbm Nybegynder
20. juni 2001 - 11:42 #4
Med de top 20 kommer det til at hedde

SELECT TOP 20 * FROM TABEL ORDER BY KOLONNE1 ASC, KOLONNE2 DESC
Avatar billede icedox Nybegynder
20. juni 2001 - 19:34 #5
Hvad er det du laver ?  Top 20 hvad !
Hvis jeg ved det, kan jeg måske hjælpe!
Avatar billede eagleeye Praktikant
18. september 2001 - 22:56 #6
vil du havde outputet fra (SELECT TOP 20 felt1, felt2, felt3, FROM tabel1 WHERE felt1 = \'24\' ORDER BY felt2) til at indgå i den ydre SELECT?
Avatar billede ml Nybegynder
18. september 2001 - 23:00 #7
ja det er noget der omkring....

Den første top skal vælges ud fra et, og skal så sorteres efter noget andet. altså virker sbm\'s forslag ikke.
Avatar billede eagleeye Praktikant
18. september 2001 - 23:04 #8
Det det skal stå efter FROM er en tabel.

Normalt når man bruget SELECT i SELECT er det når man har en WHERE:

SELECT * FORM tabel_1 WHERE felt3 IN (SELECT felt45 FROM table_2 WHERE felt7=2 ORDER BY felt67) ORDER BY felt8
Avatar billede eagleeye Praktikant
18. september 2001 - 23:06 #9
Men vis du vil havde 2 ORDER på vil jeg tror det skulle være i denne stil:

sql= \"SELECT TOP 20 felt1, felt2, felt3, FROM tabel1 WHERE felt1 = \'24\' ORDER BY felt2, felt3\"

Avatar billede eagleeye Praktikant
21. september 2002 - 21:32 #10
Der er et komma for meget i:

sql= "SELECT TOP 20 felt1, felt2, felt3 FROM tabel1 WHERE felt1 = '24' ORDER BY felt2, felt3"
Avatar billede eagleeye Praktikant
07. november 2002 - 09:08 #11
skal det ikke snat kommenteres eller lukkes?
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
Kurser inden for grundlæggende programmering

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