我有一个3000行的表格(可以是小于10000的任何数字)。我需要创建10000行的tablex。所以我需要从tableb(以及add-in-tablea)中随机选择10000-(tablea中的行数)来创建tablex。有什么想法吗?像这样的事情(显然行不通):
Create table TableX as
select * from TableA
union
select * from TableB limit (10000 - count(*) from TableA);
我有一个3000行的表格(可以是小于10000的任何数字)。我需要创建10000行的tablex。所以我需要从tableb(以及add-in-tablea)中随机选择10000-(tablea中的行数)来创建tablex。有什么想法吗?像这样的事情(显然行不通):
Create table TableX as
select * from TableA
union
select * from TableB limit (10000 - count(*) from TableA);
2条答案
按热度按时间lrl1mhuk1#
你可以用
union all
和窗口功能。您没有列出表列,所以我假设col1
以及col2
:中的第一个查询
union all
从中选择所有行table1
. 第二个查询将随机行号分配给table2
,然后根据需要选择尽可能多的行以达到10000
.实际上,从两个表中选择所有行可能更简单,然后
order by
以及limit
在外部查询中:xkrw2x1b2#