Thomas Chust,您好!

the mail num is so many,
        how can cancel the maillist.

======= 2006-04-16 16:03:00 您在来信中写道:=======

>On Sun, 16 Apr 2006, [EMAIL PROTECTED] wrote:
>
>> Thomas Chust <[EMAIL PROTECTED]> wrote:
>>> Hello,
>>>
>>> I have a table of strings and integer primary keys from which I would like
>>> to retrieve a string at random. [...]
>>
>> I cannot think of a more efficient way to do this if you
>> require each output to have equal probability.  If you do
>> not need each string to have exactly the same probability,
>> however, you could do this:
>>
>>   SELECT string FROM strings
>>   WHERE rowid>=random()  (SELECT max(rowid) FROM strings)
>>   LIMIT 1;
>
>Hello,
>
>thank you for the tip. As the SQLite3 '' operator does a remainder
>operation not a modulo operation and as the '>=' apparently binds stronger
>than the '', I modified this query into
>
>   SELECT string FROM strings
>    WHERE id >= (abs(random())  (SELECT max(id) FROM strings))
>    LIMIT 1;
>
>This works very fast now and I think I can live with the somewhat less
>random result. It doesn't have to have cryptographic quality ;-)
>
>cu,
>Thomas

= = = = = = = = = = = = = = = = = = = =
                        

        致
礼!

                                
        马国庆
[EMAIL PROTECTED]
          2006-04-17




Reply via email to