집합 함수

@SpringBootTest
@Transactional
public class QuerydslBasicTest {

    @Test
    public void aggregation() throws Exception {
        List<Tuple> result = queryFactory
                .select(member.count(),
                        member.age.sum(),
                        member.age.avg(),
                        member.age.max(),
                        member.age.min())
                .from(member)
                .fetch();

        Tuple tuple = result.get(0);

        assertThat(tuple.get(member.count())).isEqualTo(4);
        assertThat(tuple.get(member.age.sum())).isEqualTo(100);
        assertThat(tuple.get(member.age.avg())).isEqualTo(25);
        assertThat(tuple.get(member.age.max())).isEqualTo(40);
        assertThat(tuple.get(member.age.min())).isEqualTo(10);
    }
}
  • JPQL이 제공하는 모든 집합 함수를 제공한다.

  • Tuple

    • 프로젝션과 결과 반환 챕터에서 설명할 예정이다.

GroupBy

  • 각 팀의 이름으로 묶는다.

Having

  • groupby한 결과 중에서 having 조건에 해당하는 것만 뽑는다.

Last updated

Was this helpful?