我的数据没有标签和源列,我想在数据中为标签和源添加新列。但是,这些值是固定的,哪一行获得哪个值并不重要。
我想添加列 label = ('A', 'B', 'C') 和 source = ('X', 'Y', 'Z')
数据已经有 500 多行,我只想让新列任意取这 3 个值中的任何一个。有没有办法做到这一点?
我的数据没有标签和源列,我想在数据中为标签和源添加新列。但是,这些值是固定的,哪一行获得哪个值并不重要。
我想添加列 label = ('A', 'B', 'C') 和 source = ('X', 'Y', 'Z')
数据已经有 500 多行,我只想让新列任意取这 3 个值中的任何一个。有没有办法做到这一点?
据我了解,您希望随机读取数据、投影其他列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 上测试)