【发布时间】:2020-09-17 20:04:29
【问题描述】:
以下代码使用 uuid_generate_v4() 为 Id 列生成 100000 行随机值。但是,嵌套选择始终选择同一行,因此所有插入的行对于这些列具有相同的值。目标是创建一个包含 100k 行的表,其中随机值取自其他样本表。每个示例表只有两列(Id 和从中获取值的列)。如何存档?
insert into "Tag" (
"Id", "Time", "Account", "Name", "Value", "RollUpTableId"
)
select
uuid_generate_v4(),
current_timestamp,
(select "Account" from "AccountSamples" OFFSET floor(random()*358) LIMIT 1),
(select "Name" from "TagNameSamples" OFFSET floor(random()*19) LIMIT 1),
(select "Value" from "TagValueSamples" OFFSET floor(random()*26) LIMIT 1),
uuid_generate_v4()
from generate_series(1, 100000);
我也试过 从“AccountSamples”中选择“Account”,其中“Id” = (trunc(random() * 358)::integer)
【问题讨论】:
标签: sql postgresql random subquery window-functions