Grails createCriteria分组依据
如何在grails中使用createCriteria获得类似于MYSQL的查询Grails createCriteria分组依据,grails,Grails,如何在grails中使用createCriteria获得类似于MYSQL的查询 SELECT * FROM engine4_user_fields_values WHERE field_id = 31 OR field_id = 24 GROUP BY item_id; 如果我使用这样的东西,效果很好: def items = items_c.list{ 'in'('fieldId',field_ids) projectio
SELECT *
FROM engine4_user_fields_values
WHERE field_id = 31 OR field_id = 24
GROUP BY item_id;
如果我使用这样的东西,效果很好:
def items = items_c.list{
'in'('fieldId',field_ids)
projections{
groupProperty("itemId")
}
}
def items = items_c.list(max:5, sort:"itemId", order:"desc"){
'in'('fieldId',field_ids)
projections{
groupProperty("itemId")
}
}
但我需要定义顺序、最大值和排序字段,如下所示:
def items = items_c.list{
'in'('fieldId',field_ids)
projections{
groupProperty("itemId")
}
}
def items = items_c.list(max:5, sort:"itemId", order:"desc"){
'in'('fieldId',field_ids)
projections{
groupProperty("itemId")
}
}
但这会使我得到具有相同“item\u id”的不同行
我能做什么?listDistinct{}怎么样
对第一个结果使用投影
lists= items.createCriteria().list(){
projections {
order ("ItemId")
}
}
或executeQuery(“此处为您的查询”);使用DistnIt/P>考虑使用HQL查询可能是有意义的。您是否可以更新该问题,包括与engine4_user_fields_values表相关的域类字段?如果在第一个groupProperty下添加groupProperty('fieldId'),会发生什么情况?是的,但这似乎不是这里的要求?