我想在使用order_by随机重排sqlalchemy查询结果时设置一个随机种子,以便始终获得相同的查询结果:
my_query.order_by(func.random())
我在文档中找不到如何操作。我尝试使用
my_query.order_by(func.random(random_seed=1))
my_query.order_by(func.random(random_state=1))
但两者都没有起作用。 非常感谢您提供的任何想法/提示! 最好的祝愿, Lea
我想在使用order_by随机重排sqlalchemy查询结果时设置一个随机种子,以便始终获得相同的查询结果:
my_query.order_by(func.random())
我在文档中找不到如何操作。我尝试使用
my_query.order_by(func.random(random_seed=1))
my_query.order_by(func.random(random_state=1))
func
对象只是将函数渲染为SQL。>>> from sqlalchemy import func
>>> print(func.random())
random()
在某些情况下(包括此例),它将在不同的数据库后端上呈现不同的基础功能,例如在MySQL上:
>>> from sqlalchemy.dialects import mysql
>>> print(func.random().compile(dialect=mysql.dialect()))
rand()
setseed
,该函数与其他SQL函数的调用方式相同。请注意保留HTML标签。>>> func.setseed(0.123...)