Sidste side af result set

Tags:    databaser

Hej,

her er hvad jeg prøver på:
SELECT * FROM `post` WHERE `topic_id`=13 ORDER BY `post_n` ASC LIMIT (COUNT(*)-5), 5

her er hvad den siger:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(COUNT(*)-5), 5' at line 1

Hjælp påskønnet.
Tak.



6 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
SELECT TOP 5 ORDER BY post_n DESC

Tror ikke det der fungerer, men det giver ideen. Du vender altså bare søge resultatet på hovedet og tager top5



Fold kodeboks ind/udKode 


Så skulle det vidst virke.



select * from (select * from post where topic_id = 13 order by id desc limit 10) as tbl order by tbl.id;

Ellers google:

mysql select n from last

/J



Tak for jeres hurtige svar.

Fold kodeboks ind/udKode 


Så skulle det vidst virke.


Nej. Men det ser ellers lovende ud. Bare lige for at jeg selv forstår det, så gemmer man COUNT(*) i en variabel som man kan kalde hvad man vil og bruger den så senere. Jeg får i hvert fald samme meddelelse som før - skulle dette også kunmne virke i PHP?

EDIT
Har forsøgt med `myVar`, cTotal, `cTotal` og andre ting som f.eks COUNT(`post_id`) og aner ikke hvad nu, så er gået i stå.



Indlæg senest redigeret d. 13.08.2010 15:38 af Bruger #10608
Også tak til dig. Det ser fancy ud, men:

Jeg kan se på det hele at jeg som altid har undladt for meget af forklaringen til min situation. Men nu har jeg tænkt over det, og jeg tror faktisk at jeg kan bruge første svar alligevel ...

Det jeg gerne ville var at hente alt fra de sidste 5 rækker stigende. At jeg så er nødt til at hente de første 5 rækker faldende og vende dem om er helt ok.

Tak for jeres tid, spændende det med den enkle løsning og det der..



.. jeg tager også de 10 sidste, men vender dem om på mysql serveren.

/J



t