I think you misunderstood how this is going to work. The expression
ROUND(rand()*1000000) is not a constant, so it is going to re-evaluate it
and generate a *different* random number for each line in the table. Apart
from anything else, this is going to be slow because it will have to scan
the whole table. There is an INDEPENDENT probability of one in a million
that it will match each separate line, so you will get an average of one
hit but, as you have found, sometimes none or two.

One way to solve this would be to use a user variable:

SET @Random = ROUND(rand()*1000000) ;
SELECT count, character FROM table_name WHERE count = @Random ;

Alternatively, this might work:

SELECT count, character FROM tableName ORDER BY rand() LIMIT 1 ;

     Alec Cawley


-----------------------------------------------------------------------


I have database with table and 1 milions random characters. Key for
searching each character is a counter from 1 to milion.

when I execute statement:

SELECT count, character FROM table_name WHERE count=ROUND(rand()*100000);

Example:

count ||        character ||

1                    dasarewr
2                    adswarwrf
3                    sfdqwerw
4                    dfweqrqwe
5                    asdfwerdfwe
6                    fdwerwer
7                    fsdwefwe
8                    frefer
...                  .....

9999                 daswer
1000                 fdferte
....                 .....


999999                    asdwerer
1000000                   dasrewg

RESULT:

1) Sometimes I get just one result like:
4352342                   dcfsfwer

2)Sometimes I get TWO results!

1000            fdferte
999999          asdwerer

3) sometimes even THREE
....


4) sometimes NONE


The select statement must to gave me just ONE result!

Does anyone know what that is about? Does ROUND() have any bugs?

Sorry for bad english.

Elvir


---end of your message-------

MySQL Development Team


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail
<[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php






---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to