쿼리 질문입니다. 0 7 1,085

by 뉴스쿨84 [2013.10.16 09:43:37]



안녕하세요.
아래와 같이 데이터가 들어가 있는 경우 결과와 같이 SIZE가 가장 큰값의 데이터만 뽑아내고 싶은데요.
CONNECT BY, PARTITION BY 사용해서 해볼려고 했는데 잘 되지 습니다.

오라클 초보라 방벙을 잘 모르겠어요 도와주시면 감사하겠습니다.

데이터

NAME SIZE
메뚜기 2013001
메뚜기 2013002
잠자리 2013001
잠자리 2013002
개구리 2013001
사마귀 2013001
  2013001


결과

NAME SIZE
메뚜기 2013002
잠자리 2013002
개구리 2013001
사마귀 2013001
   2013001


with test as (
select '메뚜기' NAME_A, '2013001' SIZE_A from dual
union all
select '메뚜기' NAME_A, '2013002' SIZE_A from dual 
union all
select '잠자리' NAME_A, '2013001' SIZE_A from dual 
union all
select '잠자리' NAME_A, '2013002' SIZE_A from dual
union all
select '개구리' NAME_A, '2013001' SIZE_A from dual
union all
select '사마귀' NAME_A, '2013001' SIZE_A from dual
union all
select '거  미' NAME_A, '2013001' SIZE_A from dual
)
SELECT * FROM test
by 우리집아찌 [2013.10.16 09:48:09]
SELECT NAME_A , MAX(SIZE_A) 
FROM TEST
GROUP BY NAME_A

by 뉴스쿨84 [2013.10.16 09:58:12]
담변 감사합니다 도움이 되었어요.
2개의 컬럼으로 예를들어 말씀드렸는데요.
제가 할려는 테이블에서 할려고 하니깐 잘 되지 않네요
혹시 테이블의 컬럼 개수나 스키마가 영향을 받을수 있을까요?

by 우리집아찌 [2013.10.16 10:05:01]
실제 테이블과 데이타 와 원하는 출력형태를 써주세요.

by 부쉬맨 [2013.10.16 09:49:18]
SELECT name_a,MAX(size_a) FROM test
GROUP BY NAME_a
ORDER BY 2 desc

by 뉴스쿨84 [2013.10.16 09:56:30]

감사합니다.  혹시 해당테이블에 기본키가 없다면 위와 같은 결과가 나오지 않을수도 있나요?


by 마농 [2013.10.16 10:02:33]

실제 원하시는 자료로 다시 질문하세요.


by 뉴스쿨84 [2013.10.16 10:16:32]
그래야 겠어요 답글 달아주심분들께 감사하고 혼련드려 죄송합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입