database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 3907 게시물 읽기
No. 3907
distinct 관련하여 질문 좀 드리겠습니다.
작성자
ss
작성일
2007-12-04 17:18ⓒ
2007-12-04 17:21ⓜ
조회수
3,540

제가 원하는 것은 a, b 컬럼을 합쳐서 중복되는 레코드를 제외한 다음


가장높은 c 컬럼 값을 가져오고 싶습니다.


그래서 아래와 같이 하였습니다.


select distinct(a + b), c from test

order by c desc


잘될줄 알았습니다. OTL 


완벽하다고 생각했습니다. OTL


그런데 distinct 후에 값을 불러오려고 c 를 쓰니 a+b 의 값만 체크하는게 아니라


a+b+c 이런식으로 중복을 체크해버립니다.


그러니깐 a+b의 값이 겹치더라도 c가 틀리면 중복제거가 되질 않는겁니다.


MSSQL은 처음이라 마땅한 방법이 떠오르질 않습니다.


경험 많으신분들의 조언 좀 부탁드립니다.

이 글에 대한 댓글이 총 1건 있습니다.

 

create table test(a int,b int,c int)

insert test

select 1,2,1 union all

select 1,2,2 union all

select 1,2,3 union all

select 1,2,4 union all

select 1,3,5 union all

select 1,4,6 union all

select 1,5,7 union all

select 1,4,8 union all

select 1,5,9 union all

select 1,2,3

 

-------------------------------------

select a,b,max(c) c

  from test

 group by a,b

 order by c desc

 

/*

a           b           c

----------- ----------- -----------

1           5           9

1           4           8

1           3           5

1           2           4

 

(4 적용됨)

*/

최석준(beatchoi)님이 2007-12-05 11:03에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
3910오늘 처음 가입해서 글쓰네요.... [1]
koala
2007-12-06
3035
3909Select 한 결과값을 파일로 저장하고 싶습니다! [5]
최자영
2007-12-06
5980
3908sql2005 출력질문입니다. [1]
손님
2007-12-05
3079
3907distinct 관련하여 질문 좀 드리겠습니다. [1]
ss
2007-12-04
3540
3906매분마다의 평균을 구하려고 합니다. [2]
곽성택
2007-12-04
3582
3905엑셀에서 sql서버로 커넥션 방법 질문 입니다... [1]
질문
2007-12-04
3071
3904[SQL->Oracle]trigger로 table 동기화
박신정
2007-12-03
3574
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다