让我的桌子看起来像这样。
Input: Table Person
ID | first_name | last_name | age | gender
1 | Robert | Müller | 34 | m
2 | Jannis | Fischer | 19 | m
3 | Monika | Schmid | 54 | f
目的是使用表本身“创建”数据。我想将表格的中心列随机化,然后放回去。
我想按性别将first_name随机化,使他们永远在一起,并且可以按其栏将last_name和age随机化。
Output: Table Person
ID | first_name | last_name | age | gender
1 | Robert | Schmid | 34 | m
2 | Monika | Müller | 54 | f
3 | Jannis | Fischer | 19 | m
我试图加入两个选择语句,但这并没有真正起作用。
我可能是这样的:
Select ID, first_name, gender From Person TABLESAMPLE SYSTEM(10);
UNION
Select ID, last_name, age From Person TABLESAMPLE SYSTEM(10);
答案 0 :(得分:0)
您似乎想随机划分姓名和年龄/性别。假设您不希望重复,那么可以使用row_number()
和一个随机数生成器。您尚未指定数据库,但想法是:
select seqnum as id,
pn.first_name, pn.last_name, pd.age, pd.gender
from (select p.*, row_number() over (order by random()) as seqnum
from persons
) pn join
(select p.*, row_number() over (order by random()) as seqnum
from persons
) pd
on pn.seqnum = pd.seqnum;