Hey,

Ik ben bezig met een lijst van actieve topics dit doe ik met de volgende sql:

SELECT tid FROM replys ORDER BY id DESC LIMIT 0 , 5

Dit werkt goed ism een while maar als er 2 of meer reacties zijn in 1 topic dan krijg ik in die lijst ook 3 keer hetzelfde topic. Is dat niet op te lossen zodat je elk topic maximaal 1 keer ziet maar dat er toch 5 topics worden weergegeven ?

Dimby
limit 5, offset heb je dan volgens mij niet nodig.
Dat de nul bij LIMIT 0,5 niet nodig is ;-) .
@Arjan (& Ponzi)
Dat lost het probleem natuurlijk niet op. Ja je kunt 0,5 ook als 5 schrijven maar dat verandert niets.

Ik vermoed dat je zoiets zal moeten doen:

SELECT tid FROM replys GROUP BY tid ORDER BY id DESC LIMIT 5

SELECT DISTINCT tid
FROM replys
ORDER BY id
LIMIT 0, 5

Volgens mij moet dit werken.

ps. @PHPerik: GROUP BY gebruik je alleen in combinatie met een aggregate functie zoals bijvoorbeeld COUNT() of SUM().
Werkt, maar als er nog geen reactie is geplaatst dan zie je het topic niet staan hoe los ik dat op ?
order op datum van plaatsen topic en plaatsen van reactie bij topic?

Geen idee hoe de query wordt maar als je dit uitwerkt dan zit je wel goed denk ik.
Wat staat er precies in die tabel. En plaats eens de loop...

Reageren