Avatar billede kimlarsen1978 Nybegynder
06. maj 2006 - 20:57 Der er 1 kommentar og
1 løsning

SQL: En tilfældig af de nyeste 10 poster

Hejsa
Jeg har lidt bøvl med denne SQL

strSQL = "Select top 10 * From artikler where ikkeGodkendt = false ORDER BY id desc, Rnd(id)"

Den giver mig altid den samme :-(

Jeg vil gerne have retuneret én tilfældig af de nyeste 10 der opfylder selecten...

Hvordan skal jeg gøre det - når ovenstående ikke virker. Ovenstående giver som sagt altid den samme artikel.

Tak for hjælpen
Avatar billede eagleeye Praktikant
06. maj 2006 - 21:33 #1
grunden til den tager den første er at du har:  ORDER BY id desc
Så den vil altid tage de 10 nyeste.

Så det skal laves i stil med dette:

strSQL = "Select top 1 * From artikler where id in (Select top 10 a1.id From artikler a1 where a1. ikkeGodkendt = false ORDER BY a1.id desc) ORDER BY Rnd(id)"


Skal du køre SQL sætningen fra ASP? så vil Rnd nok også drille da den ikke virker ordenligt, så man kommer ud i dette:

randomize
R=clng(100000*rnd)
strSQL = "Select top 1 * From artikler where id in (Select top 10 a1.id From artikler a1 where a1. ikkeGodkendt = false ORDER BY a1.id desc) ORDER BY rnd(-(ID)*" & R & ")"
Avatar billede kimlarsen1978 Nybegynder
06. maj 2006 - 21:44 #2
Som altid - dejligt præcist svar fra dig! Lækkert :-)

Mange tak og fortsat god aften
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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