String Presto:使用一些默认值创建新列

String Presto:使用一些默认值创建新列,string,presto,cross-join,String,Presto,Cross Join,我的数据没有label和source列,我想在数据中为label和source添加新列。但是,这些值是固定的,哪一行得到哪一个值并不重要 我想添加列标签=('A','B','C') 和源=('X','Y','Z') 数据已经有500多行了,我只想让新的列任意取这3个值中的任何一个。有办法吗 据我所知,您希望读取数据,随机投影额外的标签和源列 可以通过使用like添加投影来完成此操作 数组['A','B','C'][1+随机(3)]作为标签 与源代码相同 例如: presto:default&

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

我想添加列标签=('A','B','C') 和源=('X','Y','Z')


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

据我所知,您希望读取数据,随机投影额外的
标签

可以通过使用like添加投影来完成此操作

  • 数组['A','B','C'][1+随机(3)]作为标签
  • 与源代码相同
例如:

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上测试)