Grails создать критерии группы по - PullRequest
6 голосов
/ 08 апреля 2011

Как я могу получить что-то вроде этого MYSQL-запроса с помощью createCriteria в grails?

    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")
        }
    }

Но я получаю разные строки с одинаковым 'item_id'

Что я могу сделать?

Ответы [ 2 ]

3 голосов
/ 11 апреля 2011
0 голосов
/ 20 мая 2013

Используйте проекцию против первого результата,

  lists= items.createCriteria().list(){
  projections {
  order ("ItemId")
  }

  }

или executeQuery ("Ваш запрос здесь");с районом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...