컬럼에서 특정 값들을 뽑을 때, MAX(컬럼명) 쓰는 이유가 궁금합니다.. 0 9 875

by 줆이 [2017.08.22 13:46:52]


안녕하세요..

 

기초적이라 죄송하지만 질문드립니다..

 

쿼리를 보다보면 VARCHAR2 형식이어도 MAX(컬럼명)으로 값을 뽑던데, 이러한 이유가 무엇인가요..?!

 

초보자라.... 답변부탁드립니다..!

by 임상준 [2017.08.22 13:50:19]

문자라고 MIN MAX 비교가 안되는게 아니니까요, A 보다 Z 가 더 큽니다.


by 우리집아찌 [2017.08.22 14:06:17]

조회 쿼리를 올려주세요


by 줆이 [2017.08.22 16:48:45]

SELECT A,B,C,
MAX(AAAA) AS AAAA, MAX(BBBB) AS BBBB,
FROM OOOO
GROUP BY A,B,C

예를 들자면 쿼리가 이런구조 입니다...

MAX를 없앨 시 GROUP BY 표현식이 아닙니다.라는 오류메세지가 나옵니다.


by 우리집아찌 [2017.08.22 17:00:49]

MAX를 빼면 당연히 에러가 나지요. 

A,B,C로 유일값을 가지게 데이터를 가져오고 그 유일값별로 AAAA, BBBB의 MAX값을 가져온다는겁니다.

원하는 데이터에 따라 집계함수(COUNT,SUM,MIN,MAX...)등을 사용할수가 있습니다.

상황에 따라서 쓰시면 됩니다. 

데이터를 보면 의도를 더욱 확실히 알수있을듯합니다.

 


by 줆이 [2017.08.22 17:06:43]

아하... 이제 조금 이해가 되었습니다.

다른컬럼도 보니 조회 시 MAX 이외에도 SUM이 쓰여있었습니다...

VARCHAR2 컬럼에서의 MAX를 쓴다는건 글자수가 더 긴 것을 가져오는게 맞겠쬬..,.?

설명 감사드립니다.


by 우리집아찌 [2017.08.22 17:10:32]

문자열의 경우 MAX는 문자열 첫번째값부터 순서대로 의 ASCII 코드값으로 비교합니다.

 


by 줆이 [2017.08.22 17:12:46]

설명 감사드립니다!


by 지현명 [2017.08.22 14:48:12]

Show me the query~!


by 줆이 [2017.08.22 16:48:51]

SELECT A,B,C,
MAX(AAAA) AS AAAA, MAX(BBBB) AS BBBB,
FROM OOOO
GROUP BY A,B,C

예를 들자면 쿼리가 이런구조 입니다...

MAX를 없앨 시 GROUP BY 표현식이 아닙니다.라는 오류메세지가 나옵니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입