首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL生成依赖于列值的随机数

MySQL生成依赖于列值的随机数
EN

Stack Overflow用户
提问于 2017-06-12 22:27:40
回答 2查看 180关注 0票数 0

我已经找了几个小时了,我不知道该怎么做。下一个是问题。我有两张桌子,顾客和订单。Customers有id和5-6列,它们是空的,必须用随机数据填充。为此,让我们将orders_accepted_campaigns作为希望填充数据的列。在orders表中,我们有customer_ids和order值。那么,我应该如何编写一个查询,在每个orders_accepted_campaigns字段中填充比每个客户已经下的订单数(count(customer_id) from orders group by customer_id)低的随机数,这样您就不能有4个订单和5个orders_accepted_campaigns

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-13 00:47:06

听起来你想要一个update

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2017-06-12 23:45:54

如果要在0和k-1包含之间均匀分布的随机整数,请使用此表达式。

代码语言:javascript
复制
  TRUNCATE(RAND() * k , 0)

避免使用CAST;它循环而不是截断,这会破坏统一的分布。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44509641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档