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 24084 게시물 읽기
No. 24084
order by 도와주서요
작성자
도와주서요
작성일
2005-09-14 10:22
조회수
2,534

데이타

품목 일자 거래처

aaa 20050801 k1

aaa 20050801 a2

aaa 20050801 b3

aaa 20050801 c2123

aaa 20050801 null

aab 20050802 dd2

aab 20050802 null

aab 20050802 e232

aac 20050803 dssa

aac 20050803 null

aac 20050803 aas12

aac 20050803 kk12

이러한 데이타를

품목 일자 거래처

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

aaa 20050801 null

aaa 20050801 k

aaa 20050801 a

aaa 20050801 b

aaa 20050801 c

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

aab 20050802 null

aab 20050802 dd

aab 20050802 e

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

aac 20050803 null

aac 20050803 dssa

aac 20050803 aas

aac 20050803 kk

 

이렇게 정렬을 하고 싶습니다.

어떻게 정렬해야 하는지요? 도움이 필요합니다...

많은 조언 부탁 드림니다.

 

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

질문이 모호하네요.

 

품목, 일자, 거래처 순서로 정렬하고 싶은데...

 

거래처에서 뒤에 숫자는 잘라버리고 정렬하고 싶은거 같습니다.

그런데 자르고 난 후의 정렬 순서의 기준이 무엇인가요?

김주현님이 2005-09-14 11:11에 작성한 댓글입니다.
이 댓글은 2005-09-14 11:19에 마지막으로 수정되었습니다. Edit

품목에 일자순으로 정렬을 하고 싶은데.......

거래처가 널인 데이타를 위로해서 정렬을 하고 싶습니다.

조언을 부탁 드림니다.

도와주서요님이 2005-09-14 11:29에 작성한 댓글입니다. Edit

안녕하세요.

order by  절을 다음처럼 쓰시면 될것 같습니다.

 

order by 품목, 일자, 거래처 NULLS FIRST

 

자세한 사항은 오라클 Oracle9i SQL Reference

18 SQL Statements: SAVEPOINT to UPDATE

Select의 order_by_clause 부분을 참고하세요.

 

즐거운 하루되세요.

장석문(math90)님이 2005-09-14 11:43에 작성한 댓글입니다.

숫자를 잘라내는건 translate 구문을 써보세요.

그리고 아무래도 위의 SQL은 조회 화면에서 자주 쓰이는 것 같네요.

first_rows 힌트로 인덱스를 타게하고 품목,일자에 결합 인덱스를 만들어서 Sort를 하지 않고 이미 정렬된 인덱스를 타서 빠른 응답 위주로 했습니다. 

 

도움이 되었기를 바랍니다.

 

create index 상품거래_idx1 on 상품거래(품목, 일자)

 

SELECT   /*+ first_rows */
         품목, 일자, TRIM (TRANSLATE (거래처, '0123456789', 'A')) a1
    FROM 상품거래
   WHERE 품목 > ' '
ORDER BY 품목, 일자, NVL (a1, 0)

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KOVAIT DBMS 전문 컨설팅 업체
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
유지보수, 튜닝, 긴급복구, 데이터 이행, 버젼 업그레이드 지원

솔루션 사업부 기술지원팀 김주현 팀장
Tel. (02) 566-4941 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

김주현님이 2005-09-14 11:47에 작성한 댓글입니다.
이 댓글은 2005-09-14 11:50에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
24087mysql의 limit 기능을 오라클에서 구현법!! [4]
초초보
2005-09-14
2433
24086CallableStatement의 resultSet에 셋하는 시간이 너무 오래걸립니다.
거시기
2005-09-14
904
24085rman backup 질문입니다. [1]
오라클
2005-09-14
1466
24084order by 도와주서요 [4]
도와주서요
2005-09-14
2534
24083쿼리문으로 사이클 검사가 가능할까요? [7]
손사장
2005-09-14
1676
24082ODBC API 함수 [1]
이창헌
2005-09-14
1965
24081오라클, MS-SQL, MY-SQL의 특징과 차이점은 어떻게 되나요?? [4]
완전초보
2005-09-14
5592
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다