[MYSQL] Select random() voor group by

Pagina: 1
Acties:

  • chielsen
  • Registratie: Oktober 2003
  • Laatst online: 21:46
Ik heb deze code:

code:
1
2
3
4
5
select act.ActiviteitID AS actID, locatie.locatie
FROM activiteit act, locatie, activiteit_locaties act_loc, 
WHERE act_loc.ActiviteitID = act.ActiviteitID AND locatie.LocatieID = act_loc.LocatieID
GROUP BY actID
ORDER BY RAND() LIMIT 0,2


Nu staan er in act_loc dus meerdere rijen met dezelfde act_loc.ActiviteitID en een andere act_loc.LocatieID.

Nu wil ik dus dat hij random een van die act_loc.LocatieID neemt en er ook maar 1 per act_loc.ActiviteitID.

Wat er nu gebeurt is dat ie standaard de eerste van die act_loc.LocatieID neemt en pas bij de resultaten na de groupby gaat orderen (wat ook wel logisch is). Hoe kan ik dat voorkomen?

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Deze code klopt sowieso niet, je moet elke kolom die niet in een aggregate functie (sum, min, max etc.) zit in de GROUP BY opnmen. Dat mySQL het wel goedkeurt is belachelijk.

Daarnaast, welke mySQL versie heb je?

Oops! Google Chrome could not find www.rijks%20museum.nl


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

P_de_B schreef op maandag 28 februari 2005 @ 08:19:
Deze code klopt sowieso niet, je moet elke kolom die niet in een aggregate functie (sum, min, max etc.) zit in de GROUP BY opnmen. Dat mySQL het wel goedkeurt is belachelijk.
Zie ook P&W FAQ - SQL - Hoe werkt dat GROUP BY nu eigenlijk? :)

Professionele website nodig?