Re: Re: RANDOM function?
От | ghaverla@freenet.edmonton.ab.ca |
---|---|
Тема | Re: Re: RANDOM function? |
Дата | |
Msg-id | Pine.A41.3.95.1010731054631.47568A-100000@freenet.edmonton.ab.ca обсуждение исходный текст |
Ответ на | Re: RANDOM function? ("macky" <macky@edsamail.com>) |
Ответы |
Re: Re: RANDOM function?
|
Список | pgsql-novice |
On Tue, 31 Jul 2001, macky wrote: > if ill be using big range of numbers sa 10000 woundd the be any possibility > to have multiple items... meaning lets say 1234 will show up more than once? It sounds like you are trying to draw a number from a finite supply, WITHOUT REPLACEMENT. I don't know how to attach an external C (perl, ...?) function to PostgreSQL, but I think you'll end up doing this. Some of what I am describing can be done "virtually". You will need to set up an array (stack, list) containing all the possible integers you want to draw from. Say 1, 2, 3, .... 100000. Note that there are 100000 elements in the stack. Now, draw a random (0 - 1) floating point number. If the 0-1 deviate lies between (i-1)/N and i/N (where N is how many integers are in our stack, and i is an index), we will withdraw the i'th value from the stack as our random number (leaving us with N-1 values in the stack). We continuous to withdraw numbers in this manner until we have either withdrawn enough numbers, or we have exhausted the stack. Gord Matter Realisations http://www.materialisations.com/ Gordon Haverland, B.Sc. M.Eng. President 101 9504 182 St. NW Edmonton, AB, CA T5T 3A7 780/481-8019 ghaverla @ freenet.edmonton.ab.ca 780/993-1274 (cell)
В списке pgsql-novice по дате отправления: