如何使用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)
projections{
groupProperty("itemId")
}
}
但是我需要像这样定义order,max和sort字段:
def items = items_c.list(max:5, sort:"itemId", order:"desc"){
'in'('fieldId',field_ids)
projections{
groupProperty("itemId")
}
}
但这会让我得到不同的行,同时具有相同的'item_id'
我该怎么办?
答案 0 :(得分:3)
listDistinct {}怎么样?
http://grails.org/doc/latest/guide/5.%20Object%20Relational%20Mapping%20(GORM).html#5.4.2 Criteria
答案 1 :(得分:0)
对第一个结果使用投影,
lists= items.createCriteria().list(){
projections {
order ("ItemId")
}
}
或executeQuery(“您的查询在这里”);不同的