【问题标题】:Randomly generate True or False on BigQuery在 BigQuery 上随机生成 True 或 False
【发布时间】:2018-06-30 20:19:39
【问题描述】:

我正在尝试为一个 BQ 表的所有行随机生成一个布尔值(真或假),并与布尔列一起插入到另一个表中。我现在正在做以下事情:

#standardSQL
select (case when rand() > 0.5 then True else False end) as A

我不确定如何为每一行生成这个:

Table 1
Name 
XXX
YYY
ZZZ

现在我想为每个名称随机生成 True 或 False 并将其插入到表 2 中,如下所示:

Table 2
Name | True_or_False
XXX  | True
YYY  | True
ZZZ  | False

任何指针都会有所帮助。

【问题讨论】:

    标签: sql google-bigquery


    【解决方案1】:

    以下是 BigQuery 标准 SQL - 假设 table2 已经存在

    #standardSQL
    INSERT `project.dataset.table2` (Name, True_or_False)
    SELECT Name, RAND() > 0.5 True_or_False
    FROM `project.dataset.table1` 
    

    【讨论】:

      【解决方案2】:

      只需将逻辑添加到选择中:

      select t.*, (rand() < 0.5) as flag 
      from table1 t;
      

      【讨论】:

        猜你喜欢
        • 2017-10-30
        • 2014-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-03
        • 1970-01-01
        • 1970-01-01
        • 2018-03-20
        • 1970-01-01
        相关资源
        最近更新 更多