06. maj 2003 - 12:02Der 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??
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
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."
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
Synes godt om
Ny brugerNybegynder
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.