【问题标题】:Multiplying columns by randbetween in sql在sql中将列乘以randbetween
【发布时间】:2014-05-29 18:42:22
【问题描述】:

我有一个真实值表,我试图将其稍微倾斜以作为演示表。

表格布局有效:

|id|purchased|shipped|delivered|

我正在尝试将正确的 3 列乘以 85-115%,以便数据仍然可以合理地表示原始表,而不会泄露实际值。

在excel中我会做

=purchased*(randbetween(85,115)/100)
对于每一列,但我试图对 SQL 做同样的事情,以便每一行乘以范围内的不同随机数。

我是 sql 的新手,我试图避免导出整个表,随机化 Excel 中的值并重新导入表。

【问题讨论】:

    标签: mysql sql excel random


    【解决方案1】:

    rand() 与算术一起使用:

    select purchased * (0.85 + rand()*0.30)
    from . . . 
    

    这符合问题的要求,增加或减少约 15%。 Excel 中的代码将该值乘以大约 100。

    编辑:

    更新语句类似于:

    update table t
        set purchased = purchased * (0.85 + rand()*0.30)
    

    最后一点:这与 Excel 版本不完全一样。一个原因是它使用连续值而不是整数值。

    【讨论】:

    • 抱歉,我的意思是乘以 0.85 -01.15
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-26
    • 2011-09-25
    • 2013-01-18
    • 1970-01-01
    • 2022-09-26
    相关资源
    最近更新 更多