31. oktober 2005 - 16:03Der er
8 kommentarer og 1 løsning
Limit -5 ?
Med LIMIT 5 selecter man de første 5 i et antal records. Jeg søger en måde hvorpå man selecter de SIDSTE 5. Jeg vil helst undgå at "vende" ASC til DESC, fordi jeg skal bruge dem i "ascending" rækkefølge. Jeg har forsøgt med LIMIT -5 men det giver blot fejl.
Hvis i ikke forstår hvad jeg mener illustrerer dette eksempel det jeg ønsker:
Tal 1 2 3 4 5 6 7
Mit udtræk skal fange fx
3,4,5,6,7 .. det er også nemt med ORDER BY x DESC LIMIT 5 - men så får jeg 7,6,5,4,3 - jeg skal have dem i ascending rækkefølge - nemlig 3,4,5,6,7.
Okay. Jeg er dog ikke helt tilfreds med løsningen eftersom jeg tror din løsning er betydeligt tungere end mit andet alternativ: At bruge ASC i stedet og så "vende" resultatet med noget PHP-kode.
Men tak for svaret - det er sikkert rigtigt nok.. så smid da et svar :)
plx -> Jeps som nævnt ovenfor bliver det, det jeg gør. Havde bare håbet på at der fandtes en hurtig og nem måde til det i MySQL. I følge en af mine MySQL-guru-venner, så kunne man vidst nok bruges LIMIT -X i "gamle dage"... :)
Jeg er nu ikke helt enig i at det skulle være tungere, men det kan jeg ikke garantere. Og det er også muligt at der er en anden måde at gøre det på, så du kan da lade det stå åbent lidt endnu hvis du vil?!
Ja det har du ret i. JEg tror det er tungere fordi du med IN() laver to ORDER BY - det kan godt være tungt når man tænker over jeg har mange tusinde records i tabellen?
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.