0

我的数据没有标签和源列,我想在数据中为标签和源添加新列。但是,这些值是固定的,哪一行获得哪个值并不重要。

我想添加列 label = ('A', 'B', 'C') 和 source = ('X', 'Y', 'Z')

数据已经有 500 多行,我只想让新列任意取这 3 个值中的任何一个。有没有办法做到这一点?

4

1 回答 1

0

据我了解,您希望随机读取数据、投影其他列label和列。source

random您可以通过使用like添加投影来做到这一点

  • ARRAY['A', 'B', 'C'][1 + random(3)] AS label
  • 同样的source

例子:

presto:default> SELECT *, ARRAY['A', 'B', 'C'][1 + random(3)] AS label
             -> FROM (VALUES 1,2,3,4) t(data);
 data | label
------+-------
    1 | C
    2 | A
    3 | B
    4 | B
(4 rows)

(在 Presto 322 上测试)

于 2019-10-23T07:18:45.823 回答