【发布时间】:2014-01-24 16:26:20
【问题描述】:
我在查询中使用 max 参数来指定一定数量的结果,以便一次加载 20 个。但是,我以它们的排序方式对它们进行排序:首先是最新的,然后是类型,然后是名称。如果我得到完整的结果集(max = 0),它排序很好,我得到了预期的结果。但是,如果我想一次获得 20 个,我不会像我预期的那样获得前一个结果的前 20 个结果。如何设置 max 参数以获得完整结果集的前 20 个结果?感谢您提前提供任何帮助。
这是一个查询示例:
def productXML =
Product.findAll("from Product as p where p.is_active = 1 and p.type = :type
ORDER BY p.${params.sort} ORDER BY p.is_new, p.type, p.name DESC",
[type: type], [max: params.max, offset: params.offset])
【问题讨论】:
-
一些示例代码会有所帮助
-
@BurtBeckwith 更新查询
-
你可以有多个
ORDER BY子句吗? -
@Don 当我将最大值设置为 0 时它可以正常工作
-
@ninjasense 我猜你可以 - 我不知道
标签: grails grails-orm grails-2.0 grails-controller