30. oktober 2002 - 12:43Der er
4 kommentarer og 1 løsning
Tilfældig udvælgelse
Jeg har en database med mange tusinde records i. Det jeg gerne ville, er at kunne udtrække ex. 500, via SQL, tilfældige records ud fra nogle givne kriterier
pseudo: SELECT * random(500) FROM tabel WHERE age = 12
Findes der SQL command, eller skal jeg programmere mig ud af det?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
select * from tabel sample(500/(select count(*) from tabel))
må jo så tage x% ud i forhold til størrelsen af tabellen
Prøv at lege lidt med denne og skyd den af nogle gange for at se om du får forskelige resultater. PS: Du må kun arbejde på 1 tabel når du bruger SAMPLE. Jeg ved ikke om du samtidig må bruge WHERE-clauses. Prøv det....
Det kan godt være jeg har formuleret det forkert, men det jeg mente er at den skulle vælge 500 tilfældige records ud blandt alle dem som havde age = 12
Kiggede lige i manualen(det ser ud til at være en 8i+ feature): It should be noted that any query involving SAMPLE will ignore any indexes on the table.
1. Sample table scans are restrictied to the Cost Based Optimizer only.
2. Sample table scans can only be performed on local tables.
3. This form of access is limited to single table queries - joins cannot use the SAMPLE syntax and return a parse error.
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.