Avatar billede henrik_stryhn Nybegynder
25. november 2002 - 12:31 Der er 5 kommentarer og
1 løsning

Random post

Findes der en funktion der kan udtrække en tilfældig post fra en tabel? Hvilken?
Avatar billede kennie_nm Nybegynder
25. november 2002 - 14:18 #1
ellers kan du vel strikke een sammen (skriv en procedure):
  * select count(*) from table
  * vælg tilfældigt heltal mellem 0 og count(*)-1
  * vælg den række
Avatar billede henrik_stryhn Nybegynder
25. november 2002 - 14:55 #2
Det kommer ikke til at fungere ordentlig. Min Indentity kolonne er autoincrementing og hvis jeg sletter en post, kommer der pludselig et hul i talrækken. Fx. følgende poster: 3,4,5,6,7,8 og jeg sletter post nr. 5, så ser rækken sådan ud: 3,4,6,7,8 og hvis det tilfældige tal bliver 5, så finder den ingen post. Jeg kunne også tilføje en kolonne hvor jeg selv giver posten et nummer, men igen, hvis jeg sletter en post, skal hele talrækken laves om og det duer ikke.
Avatar billede kennie_nm Nybegynder
25. november 2002 - 15:32 #3
jeg snakker ikke om at vælge række med id = det tilfældige tal - jeg kan jo ikke vide hvilken måde rækkerne er indekseret.

Har MSSQL en funktion, der returnerer den i'te række? ( ikke række med id=i )
Avatar billede henrik_stryhn Nybegynder
25. november 2002 - 15:40 #4
Det er lige netop sådan en funktion jeg leder efter, en der kan returnere række x. Jeg kan godt generere et tilfældigt tal i MS SQL, men hvordan jeg udtrækker en post ud fra det tal, det er det jeg ikke kan gennemskue.
Avatar billede kennie_nm Nybegynder
25. november 2002 - 21:16 #5
Du kunne trække et tilfældigt tal mellem 0/1 og MAX(id). Hvis der ikke findes en post med det id, så trækker du igen (indtil du har en ikke-slettet post). Det burde gå forholdsvist tjept (hvis du ikke har slettet alt for mange rækker).
Avatar billede henrik_stryhn Nybegynder
26. november 2002 - 08:49 #6
Det har du ret i, det vil jeg prøve. Tak for hjælpen! :)
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