我想從一個非常簡單的表中隨機選擇一個用戶來生成樣本數據。無法從MySQL表中選擇一個隨機行
該表只有兩列,即整數主鍵users_id
,其中所有值從1到46(含),而uname
是varchar(60)
。
查詢
select relusers.uname from relusers where relusers.users_id=floor(rand()*46+1);
將返回多行。也許我一直在盯着這個太久,但我沒有看到上面的查詢如何返回多行。 floor()返回一個正在與主鍵列進行比較的整數。在選擇中包含users_id會顯示多個不同的ID被選中。因爲我可以理解零行,但多個?有任何想法嗎?
不知爲何,你不執行where子句... –
我相信每一行的重新計算蘭特,所以如果你有46行,它將計算蘭特46次,並返回它匹配的那些行。 – deanosaur
就是這樣 - 謝謝@deanosaur – netopiax