Grails createCriteria组 [英] Grails createCriteria group by
本文介绍了Grails createCriteria组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
SELECT *
FROM engine4_user_fields_values $ 如何在grails中使用createCriteria获取类似于MYSQL查询的内容? b $ b WHERE field_id = 31 OR field_id = 24
GROUP BY item_id;
如果我使用类似的东西,它可以正常工作:
$ b $ ('fieldId',field_ids)
预测{
groupProperty(itemId)b
def items = items_c.list {
'
$ / code $ / pre
但是我需要定义order,max和sort字段像这样:
def items = items_c.list(max:5,sort:itemId,order:desc) ('fieldId',field_ids)
预测{
groupProperty(itemId)
}
}
$ c $ {
' c>
但是,这让我获得了与item_id相同的不同行
解决方案那么listDistinct {}?
href =http://grails.org/doc/latest/guide/5.%20Object%20Relational%20Mapping%20%28GORM%29.html#5.4.2%20Criteria =nofollow> http:// grails.org/doc/latest/guide/5.%20Object%20Relat ional%20Mapping%20(GORM).html#5.4.2标准
How can I get something like this MYSQL query with createCriteria in grails?
SELECT *
FROM engine4_user_fields_values
WHERE field_id = 31 OR field_id = 24
GROUP BY item_id;
It works fine if I use something like this:
def items = items_c.list{
'in'('fieldId',field_ids)
projections{
groupProperty("itemId")
}
}
But I need to define order, max and sort field like this:
def items = items_c.list(max:5, sort:"itemId", order:"desc"){
'in'('fieldId',field_ids)
projections{
groupProperty("itemId")
}
}
But this gets me different rows with the same 'item_id'
What can I do?
解决方案 How about listDistinct{} ?
http://grails.org/doc/latest/guide/5.%20Object%20Relational%20Mapping%20(GORM).html#5.4.2 Criteria
这篇关于Grails createCriteria组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文