Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to Make RAND() issue UNIQUE numbers?
Message
From
05/12/1997 00:01:14
 
 
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00063913
Message ID:
00063961
Views:
94
Correct! But you can generate random numbers to pick records from the table. As soon as a record is picked, you flag it or delete it... :)

Don't take me seriously here! I'm only joking! You don't need to use the long way if you know the short one. :)

Vlad

>A quick test of SYS(2015) gave me:
>
>_RQ91824UH
>_RQ91824UI
>_RQ91824UJ
>_RQ91824UK
>_RQ91824UL
>_RQ91824UM
>_RQ91824UN
>_RQ91824UO
>
>This appears to be unique but sequential, so if I then sort on this number, the result is not randomized. In fact the order may not change at all...
>
>thx
>
>>>No... not at all...
>>>
>>>RAND() works fine, even with the additional test for uniqueness. I was just wondering if there was an internal function to achieve the same thing.
>>
>>Well, you can use the sys(2015) to get unique keys. Of course, you can convert chars to digits. This will give you unique numbers, but not random numbers. I wouldn't use this!
>>
>>Vlad
>>
>>>>As I said: if it's random, then it's not unique. So, it doesn't matter what method you use to get random numbers, you must test them to be sure you choose each number only once.
>>>>
>>>>Why? Why is RAND() not good? Too slow?
>>>>
>>>>Vlad
>>>>
>>>>>Is there another way to shuffle a list of phone numbers so that they are random?
>>>>>
>>>>>thx
>>>>>
>>>>>>If it's unique, it's not random! And if it's random than it's not necessary unique! :)
>>>>>>
>>>>>>Vlad
>>>>>>
>>>>>>>Yeah, I was just hoping for something like RAND(,U) <-- a unique parameter.
>>>>>>>
>>>>>>>I'm told that C++'s RAND() function returns unique numbers...
>>>>>>>
>>>>>>>Oh well, I did the SEEK to verify uniqueness and it works fine.
>>>>>>>
>>>>>>>Thanks
>>>>>>>
>>>>>>>>This is normal. Random numbers are not unique.
>>>>>>>>
>>>>>>>>Each time you generate a new number you must do a SEEK and add it only if it is not already in your table.
>>>>>>>>
>>>>>>>>Vlad
>>>>>>>>
>>>>>>>>>I fill a file having 12000 records with 'random' numbers. Index on number unique
>>>>>>>>>shows only 7550 unique numbers
>>>>>>>>>
>>>>>>>>>>What's the problem? Ie: What doesn't work?
>>>>>>>>>>
>>>>>>>>>>Vlad
>>>>>>>>>>
>>>>>>>>>>>We are using RAND() to create a random sampling of a phone number file so
>>>>>>>>>>>we need unique numbers so we don't re-use phone numbers
>>>>>>>>>>>
>>>>>>>>>>>Any way?
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform