开发者社区> 问答> 正文

通过SQLAlchemy获取随机行

如何使用SQLAlchemy从表中选择一个(或一些)随机行?

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 14:18:35 691 0
1 条回答
写回答
取消 提交回答
  • 这在很大程度上是特定于数据库的问题。

    我知道PostgreSQL,SQLite,MySQL和Oracle可以通过随机函数进行排序,因此可以在SQLAlchemy中使用它:

    from sqlalchemy.sql.expression import func, select

    select.order_by(func.random()) # for PostgreSQL, SQLite

    select.order_by(func.rand()) # for MySQL

    select.order_by('dbms_random.value') # For Oracle 接下来,您需要通过所需的记录数来限制查询(例如使用.limit())。

    请记住,至少在PostgreSQL中,选择随机记录会带来严重的性能问题。这是一篇很好的文章。

    2019-11-18 14:18:43
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载