SELECT tilfældig række
Jeg har et stykke tid forsøgt at lave en query, som skal opfylde en del kriterier. Det er ikke lykkes mig at få dem alle opfyldt, så here goes:I bund og grund skal jeg bruge et query (og kun ét), som giver mig en tilfældig række. Det har jeg forsøgt at opfylde vha. følgende statement:
SELECT * FROM tabel WHERE id >= floor(random()*(SELECT max(ID)+1 FROM member)) ORDER BY id LIMIT 1;
Det virker også godt nok sålænge tabellen ikke er fuld af \"huller\" - altså f.eks. at ID nr. 52 kommer efter ID nr. 10. Alt hvad der bliver valgt efter 10 bliver 52. Sandsynligheden for, at et bestemt ID bliver valgt er højere, jo flere \"huller\" der er før denne.
Kan nogen hjælpe?