webForumDet fria alternativet

Rand

2 svar · 382 visningar · startad av skarbratt

skarbrattMedlem sedan juli 2000325 inlägg
#1

Hur använder jag "RAND" i SQL, och funkar det lika bra i Access?

SQL = "SELECT * FROM Banner, r_subAreas WHERE r_subAreas.subID = "&subArea&" AND Banner.PageID = r_subAreas.pageID AND Banner.bannerLink <> '' AND Banner.bannerImage <> ''  ;"

Det finns tex 5 stycken lagrade PageID i "Banner" som stämmer överäns med resten av SQL sattsen. Men om jag vill slumpa fram någon av dem, hur gör jag då? Vill gärna använda "RAND".

------------------
fencing for you?
http://www.fencing4u.nu/

fredrikMedlem sedan dec. 19991 072 inlägg
#2

om det är pageID du vill slumpa fram kan du göra så här:

SQL = "SELECT * FROM Banner, r_subAreas WHERE r_subAreas.subID = "&subArea&" AND Banner.PageID = ROUND(RAND() * 4 + 1, 0) AND Banner.bannerLink <> '' AND Banner.bannerImage <> '' ;"

för ett exempel kan en enklare sats se ut:

SELECT * FROM db WHERE kolumn = ROUND(RAND() * 4 + 1, 0)

detta ger dig ett tal med start på 1 och slut på 5.

------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
www.streetwise.se/fredrik/

skarbrattMedlem sedan juli 2000325 inlägg
#3

Ok, en bra början, men problemet är att mina pageID heter tex 121, 134, 136, 159, etc

Och jag vet inte hur många pageid jag har får utt varje gång. Har visserligen löst det genom att ha två sql satser där den första räknar antal PageId medan den andra går direkt till ett page id med hjälp av "Move". Där emellan finns en slumpfunktion som slummpar fram ett tal av dem som jag fick i den första satsen.

Men kan man göra detta i en satts?

------------------
fencing for you?
http://www.fencing4u.nu/

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)