我一直在尋找幾個小時,我不知道如何做到這一點。接下來的問題是。我有兩張桌子,顧客和訂單。 客戶有id和5-6列是空的,必須填充隨機數據。爲此,我們把orders_accepted_campaigns
作爲我們想填充數據的列。在訂單表我們有customer_ids和訂單值。那麼我應該如何編寫一個查詢來填充每個orders_accepted_campaigns
字段的隨機數字,該數字比每個客戶的訂單數量要少(count(customer_id) from orders group by customer_id
),因此您不能有4個訂單和5個orders_accepted_campaigns
?MySQL生成的隨機數取決於列值
0
A
回答
0
這聽起來像你想的update
:
update customers c left join
(select customer_id, count(*) as cnt
from orders o
group by customer_id
) o
on o.customer_id = c.customer_id
set orders_accepted_campaigns = floor(rand() * cnt);
注:該值設置爲0
當客戶具有零個訂單。
+0
是的!這是我正在尋找的。將使用低於某個其他值的隨機數更新表的查詢,在本例中爲訂單數。你只是小小的「錯誤」; customer_id在組中由於:)而缺失。感謝您的幫助,我會接受這個答案。 –
2
如果您想要一個介於0和k
-1之間的均勻分佈的隨機整數,請使用此表達式。
TRUNCATE(RAND() * k , 0)
避免CAST
;它輪流而不是截斷,這會擾亂均勻分佈。
+0
謝謝你的幫助,但我一直在尋找@Gordon Linoffs的答案,所以我會接受他的回答! –
相關問題
- 1. mysql隨機生成的值
- 2. 獲取生成隨機數
- 3. 列取決於csv-data的隨機化
- 4. 生成隨機值列表並獲取新生成器
- 5. 生成新的隨機值
- 6. 基於MySQL數據庫中的股票隨機生成數字
- 7. 關於生成唯一的隨機數
- 8. 生成隨機數:計算隨機生成的x次數
- 9. 隨機數生成
- 10. 生成隨機數
- 11. 生成隨機數
- 12. 生成隨機數
- 13. 生成隨機數
- 14. 隨機數生成
- 15. 生成隨機數 - 更高的價值
- 16. 正向循環或反向循環取決於生成的隨機數?
- 17. 生成相同的隨機數序列
- 18. 生成一個不存在於同一列中的隨機值
- 19. 隨機數生成機制
- 20. 生成隨機值1/X
- 21. 生成訂單隨機值
- 22. 生成隨機GLfloat值
- 23. 生成一個隨機值
- 24. random.randint不生成隨機值
- 25. 生成列取決於其他生成的列
- 26. 如何在Haskell中隨機生成一個隨機生成的數字列表
- 27. 生成隨機整數,等於100
- 28. 隨機數生成器幫助不生成隨機數 - C
- 29. Haskell的隨機發生器:鏈生成的隨機值
- 30. 生成一個大於或小於前面的隨機數的隨機數
這是簡單的算術。 RAND()生成一個介於0和1之間的數字。將該數字乘以訂單數量。 – Strawberry
我希望這不會是一些微不足道的,「愚蠢的」,因爲我一直在嘗試一段時間。好吧,現在是時候爲我睡覺了。你能否將它作爲答案發布,以便我可以接受它? –
我擔心這隻會增加愚蠢。 – Strawberry