public List<UserRankingResponse> findUsersByCampus(Campus campus) {
        return queryFactory.
                select(Projections.bean(UserRankingResponse.class, QMap.map.user,QMap.map.id.count().as("mapCount")))
                .from(QMap.map)
                .join(QMap.map.user, QUser.user)
                .where(QUser.user.campus.eq(campus))
                .groupBy(QUser.user.id)
                .orderBy(QMap.map.id.count().desc())
                .limit(5)
                .fetch();
    }

리턴타입을 Dto로 받아서 하고 싶을때 Projections.bean([리턴타입].class, 넣을 속성들…)

이런식으로 써주면 됨

count() 사용할 때

alias 를 꼭 지정해줘야한다

QMap.map.id.count().as("mapCount") alias 이름은 dto 속성의 이름과 통일시켜야한다.