наибольшие числа в группе в спящем режиме - PullRequest
1 голос
/ 02 января 2012

Есть ли способ в спящем режиме получить лучшую запись от группы.В моей таблице есть три столбца (error_id ,action_id, телефон). Я хочу применить порядок по условию для Transactions_id, затем создать группу на основе телефона и затем получить верхнюю запись из каждой группы.

Любые предложения для этого типа или запроса .... Спасибо заранее.

1 Ответ

0 голосов
/ 03 января 2012

Я получил ответ из своего поиска.

String msisdnQueryString = "SELECT DISTINCT table.phone FROM TABLE_NAME table";
Query msisdnQueryObject = session.createQuery(msisdnQueryString);
List msisdnList = msisdnQueryObject.list();

List<Long> transactionList = new ArrayList<Long>();
for(Object object : msisdnList){
    Long msisdn = Long.parseLong(object.toString());
    String transactionQueryString = "SELECT table.transactionId FROM TABLE_NAME table WHERE table.phone = "+msisdn+" ORDER BY table.transactionId DESC";
    Query transactionQueryObject = session.createQuery(transactionQueryString);
    transactionQueryObject.setFirstResult(0);
    transactionQueryObject.setMaxResults(1);
    List transactions =transactionQueryObject.list();
    if(transactions.size() > 0){
    transactionList.add((Long)transactions.get(0));
    }
}

Это долгий процесс, но он работает. Если кто-нибудь знает лучший способ получить такие записи, пожалуйста, оставьте свои ответы.

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