0
쿼리 결과로 그룹의 총 수를 얻지 못했습니다.QueryDSL Gruop By 행 수
JPAQuery jpaQuery = new JPAQuery(entityManager);
jpaQuery.from(QMessageSend.messageSend)
.where(predicate)
.groupBy(QMessageSend.messageSend.messageId).count();
이것은 현재 코드입니다.
및이 코드는 각 그룹에 대해 반환 횟수를 계산합니다.
SELECT count(*)
FROM MESSAGE_SEND ms
GROUP BY ms.MESSAGE_ID
그러나 쿼리 결과로 그룹의 총 수를 얻고 싶습니다. 어떻게해야합니까 SQL 아래
SELECT count(*)
FROM (
SELECT *
FROM MESSAGE_SEND ms
GROUP BY ms.MESSAGE_ID
) msc
의 같은 결과는?
MESSAGE_ID는 기본 키가 아닙니다. 및 JPAQuery의 고유 한 메소드가 특정 특정 열을 지원하지 않습니다. MESSAGE_ID
이 테이블의 기본 키를 누른 다음 COUNT(*)
접미사입니다
SELECT COUNT(DISTINCT s.MESSAGE_ID)
FROM MESSAGE_SEND ms;
경우
MESSAGE_ID는 기본 키가 아닙니다. 및 JPAQuery 고유 메소드가 선택 열을 지원하지 않습니다. ( – chooco13
@ chooco13 .... 내가 대답 한 후 JPA에 초점을 맞췄다.이 질문에 대한 답변이 있습니까? https://stackoverflow.com/questions/6197591/how-to-do-a-distinct-count-in- jpa-critera-api. –