Laatste x aantal records

Status
Niet open voor verdere reacties.

kevinnnnnn

Gebruiker
Lid geworden
14 sep 2007
Berichten
8
Hey mensen,

Ik werk via ASP, gekoppeld aan een My SQL db.

Nu zou ik graag alles mooi willen rangschikken op id en hiervan de LAATSTE 40 records willen laten zien.

Code:
SQLstmt = "SELECT * FROM table WHERE field='test' ORDER by ID ASC LIMIT (COUNT(ID)-40),COUNT(ID)"

Code:
SQLstmt = "SELECT * FROM table WHERE field='test' ORDER by ID ASC LIMIT COUNT(ID)-40,COUNT(ID)"

Beide resulteren in een overbelasting van de server. Ik neem dus aan dat er een oneindige loop gemaakt wordt...

Wat klopt niet aan deze syntax? Bij limit filter ik toch de records die beginnen vanaf *eindrecord-40* tem het einde?

Thanks!

-Kevin.
 
niet helemaal ;)

It is phrased as Limit X, Y and included at the end of your query. X is the starting point (remember the first record is 0) and Y is the duration (how many records to display).

ofwel, wat jij doet is (stel we nemen als count-ID 1337)

Code:
//pseudo
pak alles vanaf (1337-40=) 1297 en ga verder tot je id (1297+1337=) 2634 hebt

//Oh noes! Je hebt maar 1337 id's! -> error/crash
Sinds je count gebruikt, wil je dus meer records hebben dan dat er zijn. Niet zo leuk dus, vooral niet met hoge id's.

Wat je dus wilt doen is zoiets:
PHP:
//snip. rip.
SQLstmt = "SELECT * FROM table WHERE field='test' ORDER by ID ASC LIMIT COUNT(ID)-40,40"


:thumb:
 
Laatst bewerkt:
Bedankt, dat was idd een klein detail dat ik uit eht oog verloren ben! :-)

Hoe krijg je dit best werkende? Ik krijg steeds een foutmelding dat mijn sqlstring ongeldig is:
Code:
[MySQL][ODBC 3.51 Driver][mysqld-5.0.27-community-nt]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(ID) - 40),40' at line 1

Code:
SQLstmt = "SELECT * FROM Chatlog WHERE Kamer='algemeen' ORDER by ID ASC LIMIT (COUNT(ID) - 40),40"
Code:
SQLstmt = "SELECT * FROM Chatlog WHERE Kamer='algemeen' ORDER by ID ASC LIMIT COUNT(ID) - 40,40"
SQLstmt = "SELECT * FROM Chatlog WHERE Kamer='algemeen' ORDER by ID ASC LIMIT (COUNT(ID) - 40,40)"

Geen van deze blijkt te werken... :(

Alvast bedankt!
 
Laatst bewerkt door een moderator:
geen idee, maar deze eens?

(haakje aan het eind weg....)
PHP:
SQLstmt = "SELECT * FROM Chatlog WHERE Kamer='algemeen' ORDER by ID ASC LIMIT (COUNT(ID)-40),40"


:thumb:
 
Heb ik al geprobeerd in mijn post, en die geeft ook een error...:confused:

Nog suggesties?

Thanks!

-Kevin.
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan