如何在Trino中为每一行分配相同的随机UUID
在Trino SQL中为所有行分配同一个唯一UUID的方法
在Trino里要给数据集的每一行分配同一个生成的唯一值,可以通过以下两种方式实现,确保UUID只生成一次并复用在所有行上:
方法一:使用CTE交叉连接
先通过CTE生成单个UUID,再和原表做交叉连接,所有行都会关联到同一个UUID:WITH single_uuid AS ( SELECT uuid() AS shared_uuid ) SELECT t.*, su.shared_uuid FROM your_table t CROSS JOIN single_uuid su;方法二:使用标量子查询
利用Trino对标量子查询的执行逻辑(仅执行一次),直接在SELECT子句中嵌套生成UUID的子查询:SELECT *, (SELECT uuid()) AS shared_uuid FROM your_table;
这两种方法都会生成一个唯一UUID,并将其分配给原表的每一行,避免了直接使用uuid()函数时每行生成不同值的问题。
内容的提问来源于stack exchange,提问作者user10765213
相关产品推荐
相关产品推荐

