Avatar billede dgivoni Nybegynder
02. august 2002 - 16:06 Der er 5 kommentarer og
1 løsning

sql - max antal rows fra bunden?

Hvordan kan jeg trække de sidste 30 poster ud fra databasen uden samtidig at skulle sortere databasen m. de seneste poster øverst?
Det jeg søger er en slags ækvivalent til "select top 30...", bare bottom 30 i stedet for?
Avatar billede tmceu Praktikant
02. august 2002 - 17:21 #1
Nej. Grunden til din bekymring over først at skulle sortere er sikkert performance. Men med et index på det felt du sorter på, er der normalt ingen problemer.
Avatar billede dgivoni Nybegynder
02. august 2002 - 17:39 #2
grunden er performance, men ikke på grund af sorteringen.
Jeg skal have skrevet de 30 poster ud i rækkefølgen med den ældste først og nyeste sidst og jeg vil helst nøjes med at have fat i et 'forward-only' recordset. Så jeg håbede at det kunne håndteres på database-siden og ikke i scriptet.
Avatar billede dgivoni Nybegynder
02. august 2002 - 17:39 #3
men tak for svaret i øvrigt...
Avatar billede tmceu Praktikant
02. august 2002 - 17:57 #4
Hvis jeg forstår det sidste rigtige kan du gøre noget á la dette:

SELECT * FROM MinTabel
WHERE MyID IN(SELECT TOP 30 MyID FROM MinTabel ORDER BY Dato ASC
ORDER BY NogetAndet

Dette giver dig de 30 ældste, men du kan stadig sortere det recordset du får tilbage på noget andet.
Avatar billede dgivoni Nybegynder
03. august 2002 - 21:34 #5
jamen, det er sgu da løsningen, mange tak :-)
Avatar billede tmceu Praktikant
04. august 2002 - 11:27 #6
Det var så lidt :-)
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