postgre如何在SQL中跨列随机分配一组值



我是PostgreSQL的新手,正在尝试实现以下任务。给定PostgreSQL表中的列user_id,我希望将随机值分配给同一表中的列

hub_id

User_id|Hub_id1 252 363 254 38
如何对此执行更新声明?

我只是尝试使用这个代码,但它在整个列中只显示了一个值,并且无法获得值的列表

UPDATE <table name>
SET hub_id = (select floor(random() * 10) + 1)
WHERE a.hub_id = a.hub_id;

一种方法使用数组:

UPDATE a.user_id
SET hub_id = (array[25, 38, 36, 300, 350])[floor(1 + random()*cardinality(array[25, 38, 36, 300, 350]))];

这是一个数据库<>不停摆弄

最新更新