mysql 存儲過程 語法 mysql如何生成不重復(fù)的隨機(jī)數(shù)?
mysql如何生成不重復(fù)的隨機(jī)數(shù)?mysql的rand函數(shù)可以生成一個0到1之間的隨機(jī)數(shù),進(jìn)行一定的放大即可得到一個隨機(jī)數(shù)。再通過條件查詢來限制新隨機(jī)數(shù)沒有在表中出現(xiàn)過。如下所示:SELECT FLO
mysql如何生成不重復(fù)的隨機(jī)數(shù)?
mysql的rand函數(shù)可以生成一個0到1之間的隨機(jī)數(shù),進(jìn)行一定的放大即可得到一個隨機(jī)數(shù)。再通過條件查詢來限制新隨機(jī)數(shù)沒有在表中出現(xiàn)過。如下所示:
SELECT FLOOR(RAND() * 99999) AS random_numFROM numbers
WHERE "random_num" NOT IN (SELECT my_number FROM numbers)
LIMIT 1
mysql怎么生成不重復(fù)的隨機(jī)數(shù)?
可以用,current_timestamp(5),其中5可以自定義表示在時間戳后面加幾位
C語言:如何產(chǎn)生不重復(fù)的隨機(jī)數(shù)字?
將已經(jīng)產(chǎn)生的隨機(jī)數(shù)保存下來,然后在獲取到新的隨機(jī)數(shù)時,與之前保存下來的值進(jìn)行對比,如果已經(jīng)出現(xiàn)過則拋棄,并再次獲取,直到獲取到不同的隨機(jī)值為止。
以獲取10個0~100之間的不重復(fù)隨機(jī)數(shù)為例,代碼如下:
#include
#include
#include
int main()
{
int list[10], i,j, a
srand(time(null))//設(shè)置隨機(jī)數(shù)種子。
for(i = 0 i < 10 i )
{
while(1)
{
a = rand()0 //獲取一個0~100之間的隨機(jī)數(shù)。
for(j = 0 j < i j )
if(list[j] == a) break//檢查重復(fù)。
if(j == i)//沒有重復(fù)值,保存到list中。
{
list[i] = a
break
}
}
}
for(i = 0 i < 10 i )//打印獲取到的隨機(jī)數(shù)序列。
printf("%d,",list[i])
printf("n")
return 0
}