[MySQL] Select group by werkt niet goed?

Pagina: 1
Acties:

  • CoiLive
  • Registratie: Maart 2000
  • Laatst online: 23-06 09:11
Ik heb een query:
code:
1
2
3
SELECT news.id, news.onderwerp, reacties.plaats_id, reacties.datum
FROM news, reacties WHERE news.id = reacties.plaats_id
ORDER BY reacties.datum DESC LIMIT 5


Werkt helemaal leuk enzo, maar nu is het zo dat sommige news items 2 keer worden weergegeven omdat er 2 keer is gereageerd door iemand.

Okee dat is logisch.
Dus denk ik, ik zet er een GROUP BY news.id bij. Dan krijg je dus dit:
code:
1
2
3
SELECT news.id, news.onderwerp, reacties.plaats_id, reacties.datum
FROM news, reacties WHERE news.id = reacties.plaats_id 
GROUP BY news.id ORDER BY reacties.datum DESC LIMIT 5


Dat werk ook wel, alleen sorteert die nu niet meer op de laatste reactie. Dat deed die dus bij de eerste wel. Hij laat nu wel 1 nieuws item zin ookal is er vaker gereageerd. Dat zit dus wel goed.

Iemand een idee hoe ik dit goed krijg? DISTINCT heb ik ookal geprobeerd. :{

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Een group by heeft imho enkel zin als je gebruik maakt van aggregated functions.
Een distinct werkt op de volledige row die teruggeven wordt, dus als er één veld in die row zit die niet uniek is, dan krijg je toch alle rows.

https://fgheysels.github.io/


  • CoiLive
  • Registratie: Maart 2000
  • Laatst online: 23-06 09:11
Kijk opzich werkt het wel. Maar op het moment dat ik die GROUP BY erin zet, dan werkt de ORDER BY opeens niet meer. Da's toch raar? Of zie ik dat verkeerd.

En van wat je net zegt begrijp ik nix. Ik ben nog niet zolang met MyAQL bezig vandaar :) Sorry

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Max.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR