【发布时间】:2013-10-30 17:01:30
【问题描述】:
我现在有
row=session.query(Item).order_by(func.random()).limit(2)
name1=row[0].name
name2=row[1].name
这给了我每个条目的第一列(名称)。问题是,我得到了倍数(它会选择相同的随机行两次。我希望它总是不同的。有没有办法在没有 if, then 语句的情况下做到这一点?
如果它有用,当我打印行时,它会给我这样的东西:
SELECT items.id AS items_id, items.name AS items_name, items.data AS items_data FROM items ORDER BY random() LIMIT ? OFFSET ?
为什么会说 limit ?我已经输入了limit(2)
【问题讨论】:
-
当你说 LIMIT 2 时你会收到错误吗?
-
嗯,我不确定。我会在哪里专门定义 LIMIT 2。我以为我是通过我的视图代码来定义的,查询结束时有 limit(2)
-
检查我发布的解决方案..
标签: python sql sqlite sqlalchemy pyramid