【发布时间】:2010-12-07 08:24:37
【问题描述】:
在我的 grails 应用程序中,我有:
keywords = Keyword
.findAll("from Keyword where locale = '$locale' order by rand() ", [max:20])
假设表中有数千行符合上述条件。但似乎从表返回的行不是随机的,而是按照行存储在 Db 中的顺序,尽管在返回的 20 行的上下文中它们是随机的。为了使我的应用程序正常工作,我希望此查询从表中返回完全随机的行,例如行 ID 203、行 ID 3789、行 ID 9087、行 ID 789 等等。这怎么可能?
【问题讨论】:
-
您能否在 Datasource.groovy 中打开 SQL 日志记录并查看正在生成的查询是什么?我对 MySQL 使用了类似的查询,它似乎按预期工作。
-
实际上,我们使用的是执行查询。看我的回答...
标签: grails grails-orm