반응형
TypeORM 사용시 AVG를 사용하는 방법
쿼리
const result = await getRepository(User)
// User를 u로 사용
.createQueryBuilder('u')
.leftJoinAndSelect('u.review_receiver', 'review')
.select([
'u.user_no',
])
// 소수점 둘째 자리까지
.addSelect('AVG(review.review_score)::numeric(10,2)', 'reviewAvg')
.where(`u.user_no = ${user_id}`)
.groupBy('u.user_no')
.getRawOne();
- .addSelect('쿼리', '별칭')
- 예시
- .addSelect('AVG(review.review_score)', 'reviewAvg')
- addSelct로 쿼리를 추가한다.
- 사용하고 싶은 쿼리 작성 (예시는 postgresql)
- AVG 뿐만 아닌 COUNT, ROUND, CEIL 등도 전부 사용 가능
- ::numeric(10,2)를 붙이면 10.00 처럼 소숫점 둘째 자리 까지만 나온다.
::numeric(앞의 숫자 갯수, 소수점 몇째 자리까지)
반응형
'Programming > Nest.js' 카테고리의 다른 글
[Nest.js] Nest.js에서 node-cache사용하는 방법 (0) | 2022.05.28 |
---|---|
[Nest.js] OverView: 첫번째 단계 (0) | 2022.05.23 |
[TypeORM] TypeORM에서 여러개의 테이블을 조인하는 방법 (0) | 2022.05.23 |
[Nest.js] Nest.js에서 소셜로그인을 구현하는 방법 (feat.Naver) (0) | 2022.05.23 |