Avatar billede bgo Nybegynder
25. juli 2005 - 14:36 Der er 5 kommentarer og
1 løsning

finde sidste x antal rækker

Jeg har brug for at kunne finde de sidste x antal rækker i en tabel med ukendt antal rækker.

Det kunne selvfølgelig gøres med SELECT * FROM tabel ORDER BY dato DESC LIMIT x

men så får jeg rækkerne i bagvendt rækkefølge.

Lad os sige min tabel har følgende rækker:

1-2-2005
2-2-2005
3-2-2005
4-2-2005
5-2-2005
6-2-2005
7-2-2005
8-2-2005
9-2-2005

og jeg vil have de sidste 3. Så skulle jeg gerne ende med

7-2-2005
8-2-2005
9-2-2005

og ikke

9-2-2005
8-2-2005
7-2-2005

Hvordan gør jeg det?
Avatar billede erikjacobsen Ekspert
25. juli 2005 - 14:37 #1
Du kan fx bruge en "SELECT count(*) ..." til at finde antallet først. Så kan du udregne en startværdi til din LIMIT.

Alternativt læs rækkerne ind i et array, og vis dem i omvendt rækkefølge.
Avatar billede borrisholt Novice
25. juli 2005 - 14:49 #2
Du bruger den SQL du foreskriver. Her er lidt pseudo kode til at komme videre med : 

aquery.SQL.T4ext := 'SELECT * FROM tabel ORDER BY dato DESC LIMIT x';
aquery.Open;
aquery.Last;

while not aquery.BOF do
begin
  doStuff;//Hest noget med heste ;)
  aquery.Prior;
end;

Jens B
Avatar billede bgo Nybegynder
25. juli 2005 - 15:04 #3
Jeg brugte SELECT count med stor succes :)

Tak til jer begge. Da jeg benyttede erikjacobsens metode, er der point til ham, hvis han lige smider et svar ;)
Avatar billede erikjacobsen Ekspert
25. juli 2005 - 15:09 #4
Jeg samler ikke på point, tak.
Avatar billede bgo Nybegynder
25. juli 2005 - 15:17 #5
Så får du lidt karma istedet ;)

lukker
Avatar billede erikjacobsen Ekspert
25. juli 2005 - 15:23 #6
Jeg samler heller ikke på (god) karma, tak.
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