31. marts 2006 - 23:59Der er
6 kommentarer og 1 løsning
Udtræk fra database skal være i random rækkefølge hver gang
Hvad er mest almindeligt benyttede metode til at sørge for at et databaseudtræk kommer i fuldstændig random rækkefølge hver gang kaldet sker. Jeg ved at der findes en random funktion i ASP, men kan ikke helt gennemskue om den kan bruges i denne sammenhæng.
Normalvis henter jeg data fra mine tabeller ud i arrays. Men jeg er i tvivl om jeg allerede i SQL kaldet kan sørge for at få mine records i tilfældig rækkefølge, eller om man først henter records ud i sorteret rækkefølge og derefter manipulerer det array der indeholder data.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Ok det så den hvor det er mest besværligt :) da access faktisk har en rnd inbygget men den giver ikke en ny rækkefølge hver gang. Så det bliver en blanding af ASP og SQL.
Prøv sådan her:
randomize R=clng(100000*rnd) '100000 er et "tilfældigt" valgt du kan evt prøve at rette det. SQL = "SELECT * FROM Tabel ORDER BY rnd(-(ID)*" & R & ")"
Hmm.. man plejer at sige, at intet er tilfældigt.. :-)
Eksempel: Vælg tilfældige 5 tal mellem 1 og 100000: 20 20 20 20 20
Det er 5 tilfældige tal, der intet har med hinanden at gøre, da det er "individuelle" tal.. selvom det er samme tal.. :-)
Den eneste måde hvor du 100% får et nyt udtræk hver gang, er at "huske" de random værdier du har haft..
Eksempel: 1) generer random værdi 2) indlæs de værdier, der allerede har været der 2a) hvis den nuværende værdi eksisterer i listen med de gamle random værdi, hop til #1 3) tilføj den nye random værdi til listen og tidligere værdier 4) lav dit udtræk med den nuværende random værdi
eagleeye > Det virker perfekt - jeg må dog erkende at jeg ikke helt forstår hvad der foregår her: ORDER BY rnd(-(ID)*" & R & ")" Kunne du evt. forklare det ? Og så må du i øvrigt meget gerne smide et svar :-)
thesurfer > Jeg kan godt se din pointe, men så vigtigt er det heller ikke at output er 100% forskelligt hver gang. Så jeg vælger at benytte eagleeye´s løsning. Men tak for input under alle omstændigheder.
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.