webForumDet fria alternativet

Hämta TOP -5 *

6 svar · 629 visningar · startad av CatZ

CatZMedlem sedan jan. 20022 440 inlägg
#1

Jag skulle behöva hämta TOP-5. Det vill säga det femte senaste i databasen baserat på ID.

Hur löser jag det smidigast? Jag har några förslag, man kan ju till exempel hämta TOP5, ordna DESC och strunta i att loopa ut resultatet (skriva ut endast en rad) men det känns... sådär :)

Några förslag? Det är MS SQL Server

emissionMedlem sedan dec. 19996 721 inlägg
#2

SELECT TOP 1 kolumner FROM
(SELECT TOP 5 kolumner FROM tabellen ORDER by ID) top5
ORDER BY ID DESC

eller

SELECT TOP 1 kolumner FROM tabellen WHERE ID IN
(SELECT TOP 5 ID FROM tabellen ORDER by ID)
ORDER BY ID DESC

CatZMedlem sedan jan. 20022 440 inlägg
#3

Givetvis, snyggare och lättare att förstå! :)

CatZMedlem sedan jan. 20022 440 inlägg
#4
SELECT TOP 1 ID FROM tabellen WHERE ID IN (SELECT TOP 5 ID FROM tabellen ORDER by ID DESC) ORDER BY ID ASC
@ndersMedlem sedan juni 200032 969 inlägg
#5

Antingen fixar du till ditt inlägg eller så accepterar jag emissions som svar istället. Your choice. :)

CatZMedlem sedan jan. 20022 440 inlägg
#6

Du vågar klaga på min ihop skrivning alltså? :)

Tack för hjälpen ;)

@ndersMedlem sedan juni 200032 969 inlägg
#7

Du vågar klaga på min ihop skrivning alltså?

Det vågar jag! Jag vågar dock inte klaga på din särskrivning av "ihop skrivning". :)

140 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)