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 6917 게시물 읽기
No. 6917
쿼리 질문입니다.
작성자
멤멤
작성일
2015-08-19 23:25ⓒ
2015-08-20 07:44ⓜ
조회수
5,352

select *

from

(select  a

         , b

         , row_number() over(partition by pk1, pk2 order by date) rnum

from tab) a

where rnum = 1

 

위와 같은 쿼리가 있다고 가정했을 때 rnum = 1 이라는 조건에 의해서 파티션된 데이터 중 date가 가장 빠른 날짜의 데이터를 가져오게 될텐데요...

inline view 내의 결과에서 a 와 b라는 컬럼의 값이 각각 파티션 내에서 모두 동일하면 0, 하나라도 다른게 있으면 1 이라는 값을 리턴하게 하려면 어떻게 하면 될까요?

예를 들어  inline view 내의 결과가 아래와 같다고 하면

rnum   a     b

1         1      1        

2         1       2        

           0       1

최상위 select 절에서는 rnum = 1 인 값만 가져오지만   a는 0, b는 1   이런 결과를 가져오게 하는 겁니다.

[Top]
No.
제목
작성자
작성일
조회
6920count시 값이 없을때 0으로 값이 있을때 -1 을 처리할려면 [3]
둥둥이
2015-10-02
5531
6919[질문] SQL Server 2012 의 가져오기 기능 "엑셀 2010" 이상 지원 문의 [1]
궁금이
2015-09-28
6040
6918같은 이름중에서 코드가 일부 상이한 번호 찾기
초보네
2015-08-27
5358
6917쿼리 질문입니다.
멤멤
2015-08-19
5352
6916주차에 관련하여 질문있습니다. [1]
MSSQL
2015-07-08
6491
6915ms-sql을 -> mysql로 바꾸려면..
김다윗
2015-07-03
5414
6914select 후 insert 질문입니다. [5]
꽃씨하나
2015-06-18
6572
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다