python - SQLAlchemy 中是否有 func.random() 的等价物来查询 teradata 数据库?
问题描述
我想使用 SQLAlchemy 从 teradata 数据库中查询随机行选择。基本上我想翻译以下语句(适用于 SQLite),因此它也适用于 teradata。
sample = session.query(sample_table_name).order_by(func.random()).limit(1000)
是否有func.random()
适用于 teradata 的等价物?我知道,例如对于 Oracle DB,您需要将其替换为text('dbms_random.value')
.
解决方案
我不确定这sqlalchemy
一点,但你可以SAMPLE
用来获取行的样本:
-- Pseudo-randomized (faster)
SELECT *
FROM MyTable
SAMPLE 1000
;
-- Simple random sample (takes longer)
SELECT *
FROM MyTable
SAMPLE RANDOMIZED ALLOCATION 1000
;
推荐阅读
- logging - ELK Logstash 中的日期解析问题与日志的自定义 Java 时间戳格式
- c - 字符串与字符串文字:直接赋值还是 strcpy/strncpy?
- css - CSS - 选择文本元素
- batch-file - 在 Windows 10 的系统启动中放置 .bat 和 .vbs 脚本
- node.js - 如果 Node 设置为 staging,为什么 Rect .env 会提供 Production?
- scala - "()" 代表什么: val f = {() => x += 1}
- javascript - 如何访问 JavaScript 对象数组中的 PHP 变量
- javascript - 使用 vue.js 动态加载(可插入)组件
- azure-devops - 如何为构建失败时引发的错误指定迭代路径?
- node.js - MongoDB - 使用多个查找的 $gruop、辅助 $group、$sum 字段