如何在不使用order by的情况下从Aster Teradata中的表或视图中获取示例数据?

我正在尝试使用Teradata通过以下代码从Aster order by中的表中获取示例数据:

SELECT "col" 
FROM   (SELECT "col",Row_number() 
                 OVER ( 
                   ORDER BY 1) AS RANK 
        FROM   "nisha_test"."test_table") a 
WHERE  rank <= 10000 

我想获得随机的10000行而不使用order by

www274953474 回答:如何在不使用order by的情况下从Aster Teradata中的表或视图中获取示例数据?

如果要获取样本,则应使用内置的样本功能。

对于Aster(或Vantage MLE,但语法略有不同),有一个RandomSample运算符,例如

SELECT * FROM RandomSample (
  ON (SELECT 1) PARTITION BY 1 -- dummy data,but needed
  InputTable ('nisha_test.test_table')
  NumSample ('10000')
)

对于Teradata,有SAMPLE子句,例如

select * 
from nisha_test.test_table 
SAMPLE 10000
,

您还可以在Teradata中使用a 1 b 3 c 0 dtype: int64 子句删除外部的xsorted.iloc[0]

QUALIFY

在Teradata中,我认为您可以在SELECT中使用恒定值。您甚至可以完全排除SELECT col FROM nisha_test.test_table QUALIFY ROW_NUMBER() OVER (ORDER BY NULL) <= 10000 ORDER BY

,

我们可以使用LIMIT关键字从Aster DB中的表或视图中获取随机值。

select * from "nisha_test"."test_table" limit 10000;
本文链接:https://www.f2er.com/3105163.html

大家都在问