Hejsa Jeg har en tabel med hvor det samme bruger-id kan have flere entries. Jeg vil gerne udvælge 7 helt tilfældige poster fra den tabel, men det samme bruger-id må ikke udvælges mere end én gang.
Sådan lidt i dymmy kode vil det nok se sådan her ud:
SELECT * FROM tabel WHERE <betingelserne er opfyldt> ORDER BY RAND() LIMIT 0,5"
Men hvordan bygger jeg den betingelse med at samme bruger-id ikke må optræde mere end én gang?
Hvis nu et id er repræsenteret 10 gange oftere end end et andet, vil det så med brugen at DISTINCT have 10 gange større sandsynlighed for at blive valgt?
Jeg havde nemlig startet med GROUP BY, men så havde alle lige stor sandsynlighed for at blive valgt, og det ønsker jeg ikke.
Hej igen Jeg har løst problemet på den "dumme" måde. Jeg selecter alt også tjekker jeg i loopet om den den er ved har været der:
do until x > 7 'Tjek om det er en NY aktuelUserID = rs("brugerID") if inStr(1, strUserIDs, aktuelUserID) = 0 then 'Opdater str med ny ID strUserIDs = strUserIDs & aktuelUserID & ", " ...
Ikke pænt, men det virker :-) Jeg vil dog fortsat gerne høre, hvis der er nogle der kender en ren SQL løsning på dette.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.