MySQL error "This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME
SELECT * FROM logs WHERE id IN (SELECT id FROM logs ORDER BY utc DESC LIMIT 100) ORDER BY ip ASC;
Voor de duidelijkheid: ik wil de 100 nieuwste logs, maar niet perse in de volgorde van nieuwheid. Ik dacht het zo te doen: Alle logs opvragen met de 100 nieuwste ID's. Dan kan ik daarna desnoods nog ORDER en LIMIT toevoegen.
De error:
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Ik draai MySQL 5.0.27-community-nt, niet echt een heel oude versie dus...
Weet iemand hoe het wel kan in 1 query?
Dank
SELECT *
FROM logs
ORDER BY utc DESC
LIMIT 100
Ok, jij hebt dus niet opgelet. Zoals ik al zei: ik wil niet perse orderen op utc/nieuwheid, dus het moet wel iets met een subquery zijn. Het kan niet in 1x, zoals jij doet, want dan sorteer je OF alleen op utc, OF je krijgt de verkeerde 100 results.
deze tut hoe je een LIMIT in een subquery kunt gebruiken in MySQL.
Een betere/completere database gebruiken is natuurlijk ook altijd een mogelijkheid.
Zie Een betere/completere database gebruiken is natuurlijk ook altijd een mogelijkheid.
Quote:
Een betere/completere database gebruiken is natuurlijk ook altijd een mogelijkheid.
Enlighten me. Ik heb 1 tabel: logs, met velden: id, user_id, utc, log. Het is een MyISAM tabel, dus geen relaties. Helemaal standalone.
Hoe kan het beter en wat is dan de oplossing?Ik ga je tut bekijken
Daarnaast mist zoiets simpels als een LIMIT in een subquery in MySQL, dat is toch echt niets bijzonders, maar het ontbreekt dus wel.
Daarnaast ontbreekt er nog wel meer, maar veel
Ik weet van MySQL 5 dat die wel veel ondersteunt aan subquery's maar dat je wel een AS (alias) mee moet geven aan een subquery, die je vervolgens weer gebruikt in de daarom liggende query.
Dat soort dingen op een goede manier opbouwen wil ook wel eens helpen.