【发布时间】:2023-02-07 00:38:43
【问题描述】:
我的表中有一组大约 50k 个数字。我想拆分或获取一定比例的行。我正在使用 DB2,所以我不能像在 MS SQL Server 中那样使用 top 子句。
早些时候我使用 limit 因为我需要选择 n 行。
Select subs_msisdn
from DB2.table
Limit 10
但是现在我需要选择 n% 的行而不是 n 行。我怎样才能做到这一点?
【问题讨论】:
-
您可以使用 DB2 中的
OFFSET和FETCH FIRST子句从数据库的数据表中选择一定百分比的行。 -
如果我是对的,DB2 提供“仅获取第一行”。因此,如果您需要例如 20% 的表,一种方法是从您的表中执行 select count(*) * 0.2 作为变量或 cte,并将结果放在 FECTCH FIRST 条件中。