Avatar billede eilskov Nybegynder
08. december 2003 - 00:44 Der er 4 kommentarer og
1 løsning

Valg af flere vilkårlige rækker fra samme tabel

hej,

Jeg har brug for at vælge 1 kendt række og 2 vilkårlige rækker fra samme tabel. Jeg har fundet ud af at 2 vilkårlige rækker kan jeg vælge på flg. måde:

SELECT ID FROM tabel ORDER BY RAND() LIMIT 0,2

Mit problem er at jeg skal vælge en række hvor jeg kender ID og 2 yderligere rækker som skal være vilkårlige og ikke den samme som den kendte række.

Jeg kan selvfølgelig lave flere SQL statements, men det vil være meget nemmere med et SQL, hvor jeg så kan gå igennem de 3 fundne rækker.

Nogen bud?

Mvh.

Eilskov
Avatar billede detox Nybegynder
08. december 2003 - 00:56 #1
Hvis din MySQL er min. ver. 4.0 kan du bruge union, men du risikerer jo at en af de tilfældige rækker er den samme som den valgte, derfor er du nødt til at bruge union all:

(SELECT * FROM tabel ORDER BY RAND() LIMIT 0,2) UNION ALL(SELECT * FROM tabel WHERE id = 3);
Avatar billede eilskov Nybegynder
08. december 2003 - 00:59 #2
Desvære bruger jeg version 3.23. Har du et bud på hvordan jeg gør idet i den version?
Avatar billede detox Nybegynder
08. december 2003 - 01:03 #3
Det har jeg ikke erfaring med, men du kan prøve at se her:
http://jinxidoru.com/tutorials/union.html
Avatar billede eilskov Nybegynder
08. december 2003 - 01:09 #4
Tak for hintet, var faktisk inde på siden da du sendte dit svar. Jeg accepterer og du får de 30 point!
Avatar billede detox Nybegynder
08. december 2003 - 01:11 #5
Ok, tak for point!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester