Avatar billede unknown_someone Juniormester
06. maj 2003 - 12:02 Der er 3 kommentarer og
1 løsning

Problem med tilfældig udvælgelse

Jeg har brygget en sql sammen som skal vælge én tilfældig post fra min database;

SQL = "SELECT os.spare_length, os.price_new, cn.country FROM (SELECT * FROM object_spare sample (1)) os, destination d, country c, country_name cn WHERE RowNum = 1 AND os.dest_id = d.dest_id AND d.country_id = c.country_id AND c.country_id = cn.country_id AND cn.lang_id = 2"

den virker og der skal der ikke lægges så meget mere i :) Men mit problem består i at jeg gerne vil have en ekstra parameter på - nemlig at feltet SEASON i tabellen object_spare skal være lig 'winter'

Så er der nogle idéer til det? eller til andre metoder hvor jeg kan udvælge én tilfældig der overholder de samme kriterier som ovenstående??
Avatar billede pnielsen Nybegynder
06. maj 2003 - 12:21 #1
Kan du ikke sætte den ekstra where-clause på ??
Hvad med et view hvor kun alle records med "winter" indgår ??
Avatar billede unknown_someone Juniormester
06. maj 2003 - 12:30 #2
vil gerne undgå view...

den med at sætte en where-clause på har jeg prøvet i både den ydre og indre select, men uanset hvor jeg sætter den lykkedes det ikke helt. Men alligevel sker der "noget" for der vælges ingen 'summer' ud, men til gengæld kommer der alt for mange EOF
Avatar billede olet Nybegynder
07. maj 2003 - 21:21 #3
Blot vær opmærksom på at SAMPLE(1) ikke returnerer én række, men én procent af rækkerne i tabellen. Just so y'know...

Blot er det kun "cirka" 1% pga. denne forklaring:

for a 5% sample :
"Think of it like this, we goto each row -- we generate a random number
between
0.00 and 1.00.  If the number if 0.05 or less -- then the row is output.  If
the
number is above 0.05 we don't output it."
Avatar billede unknown_someone Juniormester
20. maj 2003 - 15:11 #4
hmm - æv... fandt nogle ting hos oracle der kunne benyttes, men det kræver 9i eller en ekstra lille ting installeret, så jeg har måttet finde en anden og tungere funktion til at gøre det ønskede
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