首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails createCriteria分组依据

Grails createCriteria分组依据
EN

Stack Overflow用户
提问于 2011-04-09 01:05:28
回答 2查看 8.4K关注 0票数 6

我如何在grails中使用createCriteria获得这样的MYSQL查询?

代码语言:javascript
复制
    SELECT * 
      FROM engine4_user_fields_values
     WHERE field_id = 31 OR field_id = 24 
  GROUP BY item_id;

如果我使用这样的东西,它工作得很好:

代码语言:javascript
复制
def items = items_c.list{
        'in'('fieldId',field_ids)
        projections{
            groupProperty("itemId")
        }
    }

但我需要像这样定义order、max和sort字段:

代码语言:javascript
复制
def items = items_c.list(max:5, sort:"itemId", order:"desc"){
        'in'('fieldId',field_ids)
        projections{
            groupProperty("itemId")
        }
    }

但是这会得到不同的行和相同的'item_id‘

我能做什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-11 17:56:53

listDistinct{}怎么样?

http://grails.org/doc/latest/guide/5.%20Object%20Relational%20Mapping%20(GORM).html#5.4.2 Criteria

票数 3
EN

Stack Overflow用户

发布于 2013-05-20 15:23:38

对第一个结果使用投影,

代码语言:javascript
复制
  lists= items.createCriteria().list(){
  projections {
  order ("ItemId")
  }

  }

或executeQuery(“这里是您的查询”);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5598436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档