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
운영게시판
최근게시물
Oracle Q&A 39021 게시물 읽기
No. 39021
sql 질문드립니다.
작성자
초보
작성일
2011-10-30 23:29
조회수
4,026

pk가 날짜, 상위코드, 하위코드 인 테이블에 saleYN 이라는 컬럼이 있는데 하루에 saleYN이 모두 Y인 데이터를

하위코드별로 카운트하는 쿼리를 작성중인데요...

select sum(decode(saleYN, 'Y', 1, 0) days

(select MIN(saleYN) saleYN

from table 

where 날짜 like '년도%'

group by 날짜, 상위코드, 하위코드

) a

group by 상위코드, 하위코드

 

이렇게 작성을 했는데 혹시 인라인뷰를 사용하지 않고 한번에 결과값을 가져올 수 없을까요?

답변기다리겠습니다.

 

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

select 상위코드,하위코드,count(distinct 날짜) days

from table

where 날짜 like '년도%'

group by 날짜, 상위코드, 하위코드

having min(saleYN) = 'Y'

dg님이 2011-10-31 02:46에 작성한 댓글입니다.
이 댓글은 2011-10-31 02:57에 마지막으로 수정되었습니다. Edit

 답변 감사드립니다.

그런데 결과를 보니까 날짜에 따른 MIN 값이 아니라 하위코드에 따른 MIN 값이 조건으로 주어져서

제가 원하는 결과가 나오질 않네요...

작성자님이 2011-10-31 10:45에 작성한 댓글입니다. Edit

?

위에 있는 쿼리랑 같은 결과가 나올꺼 같은데 틀리나요?

상세한 설명 부탁드립니다..

dg님이 2011-10-31 13:09에 작성한 댓글입니다. Edit

질문하신분께서 원하는 결과는 (GROUP BY 상위코드, 하위코드) 한 결과죠.

dg 님의 결과는 (GROUP BY 날짜, 상위코드, 하위코드) 하셨으니

결과 행수도 다르고, Count(Distinct 날짜) 는 항상 1뿐입니다.

 

질문하신분께서 (날짜, 상위코드, 하위코드)가 PK 라고 하셨네요?

실제로 PK 가 오로지 위 3개 컬럼으로만 이루어졌다면?

그렇다면 (GROUP BY 날짜, 상위코드, 하위코드)는 무의미한 코드인듯 합니다만?

 

PK 에 위 3개 컬럼 외에도 더 있다면?

위에 하신 인라인뷰 사용법이 그나마 제일 간단하고 명쾌한 방법인듯 합니다.

굳이 인라인뷰를 제거하려는 특별한 이유라도 있나요?

마농(manon94)님이 2011-10-31 13:25에 작성한 댓글입니다.

 네 역시 날카로우신 답변이네요..ㅎㅎ

pk에 3개의 컬럼외에 더 있습니다. 총 6개컬럼으로 이루어져있구요..

질문의 의도는 인라인뷰를 사용하지 않고 한번에 하는 방법이 없는지 또는 제가 작성한

sql 보다 더 좋은 방법이 있는지 고민하다가 올려봤습니다.

 

답변해주신 두분께 감사드립니다.

작성자님이 2011-10-31 14:29에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
39025낮에 질문 올리신 분 계신 것 같은데... 글이 삭제 되버린 것 같네요. 원하시는게 아래 쿼리 맞는지 모르겠습니다.
아무거나
2011-10-31
4733
39024Oracle "_B_TREE_BITMAP_PLANS" 파라메터 설정방법 [2]
Yoda
2011-10-31
4997
39022GROUP BY 관련해서.. [2]
카라
2011-10-31
4579
39021sql 질문드립니다. [5]
초보
2011-10-30
4026
39016초보자 급질문 드립니다. [2]
제로
2011-10-28
3518
39015date 컬럼에 타임존 정보도 저장이 되나요? [1]
조동건
2011-10-28
4601
39014\uC2DC\uC791 이런 문자를 한글로 [4]
taiji
2011-10-28
5778
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다