Misschien gedraagt de query zich wel zoals je zou verwachten als je GROUP BY id_gebruiker oid gebruikt ipv LIMIT? In dat geval krijg je wss geen resultaten als niet aan de voorwaarden is voldaan.
Max is een aggregate functie die inderdaad één rij terug zal geven indien je de bijhorende GROUP BY achterwege laat.
Waarschijnlijk heeft laatste dan een waarde NULL? LIMIT heeft dan ook geen toegevoegde waarde. Ik denk dat je toch gewoon de ene rij die hij teruggeeft moet fetchen en dan de waarde van laatste moet vergelijken.
Een aggregate functie zonder group by geeft altijd 1 record terug, dus de limit heeft sowieso geen zin.
Maar als je een group by doet op een kolom waarvan de waarde niet bestaat in de tabel, valt er niets te groeperen dus krijg je nul riecords.
Je kan dit een beetje vergelijken met left joins, als je aggegrate functies hebt op een tabel na de left join, krijg bij allemaal (behalve count) NULL.