group by 결과에 대한 질문입니다.
413
작성한 질문수 6
안녕하세요 영한님
강의 재밌게 잘 듣고 있습니다. 간단한 질문이 있습니다~!
group by를 한 다음에
Tuple teamA = result.get(0);
으로 알려주셨는데 0번 index로 가져온 결과값이 Team B가 아니라 Team A에 관한 집계 결과를 보장하는지 궁금합니다. (내부적으로 정렬 같은 방식이 일어나는건가요..??ㅎㅎ)
답변 1
7
안녕하세요 베지밀님.
답변 드리기위해 groupBy에 대해서 찾아보니 다음과 같은 내용을 확인하였고,
- GROUP BY 절과 HAVING 절의 특징
-
- HAVING 절은 GROUP BY 절의 기준 항목이나 소그룹의 집계 함수를 이용한 조건을 표시할 수 있다.
- GROUP BY 절에 의한 소그룹별로 만들어진 집계 데이터 중, HAVING 절에서 제한 조건을 두어 조건을 만족하는 내용만 출력한다.
- HAVING 절은 일반적으로 GROUP BY 절 뒤에 위치한다.
- 일부 데이터베이스의 과거 버전에서 GROUP BY 절에 명시된 칼럼의 순서대로 오름차순 정렬을 자동으로 정렬(비공식적인 지원이었음)하는 경우가 있었으나, 원칙적으로 관계형 데이터베이스 환경에서는 ORDER BY 절을 명시해야 데이터 정렬이 수행된다.
- ANSI/ISO 기준에서도 데이터 정렬에 대한 내용은 ORDER BY 절에서만 언급되어있지, GROUP BY 절에는 언급되어 있지 않다.
출처: http://www.gurubee.net/lecture/2373
.
H2 database,(1.4.200) mysql(8.0)에서 테스트 해보았습니다.(검은 콘솔창은 MySQL입니다. 동일한 H2와 동일한 쿼리로 진행하였습니다.)

- team의 name을 group by로 출력한 결과 h2, mysql 둘 다 이름을 기준으로 출력 되었습니다.
.

- team의 name 중 teamA를 teamC로 바꾸고(update 쿼리) 실행한 결과 h2는 이름을 기준으로 정렬 되었으나 mysql은 teamC가 먼저 출력되어 이름 순으로 출력되지 않았습니다.
.
블로그에 정리되어있는 내용과 두 데이터베이스의 실험 결과를 통해 group by의 순서를 모든 데이터베이스마다 (명시된 순서대로)보장하지 않는 다는 것을 확인할 수 있었습니다.
.
감사합니다.
SpringBoot 4.X에서의 Querydsl 설정
0
157
2
querydsl 오픈소스에 대한 질문
1
101
1
예제에서의 카운트 쿼리에서 join문과 where문은 필요없지 않나요?
0
127
1
Querydsl 6.X버전에 대해서 어떻게 생각하시나요?
0
349
2
여러 테이블 조인하여 통계치를 구하고자 할 때 어떤 방법이 더 효율적일까요
1
86
1
fetchResults()는 더이상 권장되지 않는다는데 맞나요?
0
172
1
querydsl sum() 메서드 없어요.
0
169
2
build 디렉터리 생성
0
152
2
자바 ORM 표준 JPA 프로그래밍 - 기본편 듣고 바로 학습해도 괜찮을까요?
0
123
2
현재 Querydsl에서 from절 서브쿼리를 지원하나요?
0
99
1
오타 제보 드립니다.
0
79
2
벌크 연산과 flush, clear
0
84
1
Run As Intellij 로 변경시 Q타입 import 불가
0
95
1
QHello import하기 문제 발생
0
157
2
등록된 함수 보는법(H2Dialect) 질문
0
76
2
5.0부터 Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다고 하는데 이에 맞는 강의
1
209
2
[환경설정 PDF 부트 3.0이후 설명 질문] build.gradle에 compileQuerydsl을 정의하지 않은 상태에서 Gradle->Tasks->other->compileQuerydsl을 클릭하라고 하는 이유가 무엇인가요??
1
213
1
querydsl 설정 문제
0
228
2
quey dsl 설정부분
0
168
2
count 쿼리 관련 질문입니다!
0
79
1
stringtemplate를 이용하여 where절 검색 방법 질문 드립니다.
0
98
1
답변부탁드리겠습니다.
0
95
2
(OrderSpecifier)관련 내용 어디있을가요
0
68
1
중급문법 벌크연산에서
0
85
2





