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
운영게시판
최근게시물
PostgreSQL Q&A 6817 게시물 읽기
No. 6817
이렇게 어려운 문제 풀어 주세요.
작성자
김정주
작성일
2006-08-29 17:49ⓒ
2006-08-29 17:49ⓜ
조회수
4,036

안녕하십니까. 김정주입니다.


매일 매일 보다가 일 때문에 어쩔수 없이 질문을 드립니다.


ttsdb-#\d x

Column | Type    | 

-------+---------+--------

a      | integer |

b      | integer |


ttsdb=#select a, b from x order by a, b;


SELECT A, B FROM T ORDER BY A, B;

 a | b 

---+---

 1 | 1

 1 | 2

 1 | 3

 2 | 1

 2 | 3

 2 | 4


데이타가 이런 식으로 들어 있습니다.


여기서 a = 2, b = 3 의 바로 위의 값을 구할 방법이 없을까요 ?


아무리 생각해도 모르겠네요.


입력 : a = 2, b = 4

출력 : a = 2, b = 3


입력 : a = 2, b = 1

출력 : a = 1, b = 3


이렇게 필요합니다.


고수님들의 현명한 답변 부탁드립니다.


건강하십시오.


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

구문 틀리니까 그대로하면 안되구요


시험해볼 서버가 없어서,.... 대충 흐름만 봐주세요


오라클같으면 rownum을 이용하면 될듯도한데...



create temp table z ( key serial, a int,b int )

as

select next_val(),a,b from x order by a,b desc


select a,b from z

where key < ( select key from z where a=2 and b=4 limit 1 )

limit 1


drop temp table z




간단한방법은 생각나질 않군요

가우님이 2006-09-01 17:49에 작성한 댓글입니다. Edit

이런 방법은 어떨지 잘 될려나 ???


SELECT A, B FROM T 

WHERE a < 2 OR (a = 2 AND b <= 3)

ORDER BY a DESC, b DESC

OFFSET 1 LIMIT 1;

이상길님이 2006-09-09 23:01에 작성한 댓글입니다. Edit

무식한 방법인듯 합니다만.. Row 볼륨이 작고, 키 항목의 갯수가 작다면
그럭저럭 써먹을만한 방법이 아닐까 합니다.

그러니까 a, b 항목이 있고, 순차적으로 정렬을 한 상태에서
특정 순번의 값을 구하는건데.

이때 어려운 부분이 a, b가 분리되어져 있음으로 발생한다면..

a와 b를 결합하는거죠.

(a * 10) + b 같이요. * 10은 b값과 충돌나지 않을만큼 지정하시구요.

비교하는 값도 이렇게 만들면, 하나씩 비교하면 되니까 편하지 않을까요.



   

훔님이 2006-09-12 19:06에 작성한 댓글입니다.
이 댓글은 2006-09-12 19:13에 마지막으로 수정되었습니다. Edit

가우님 의견은 제가 도저히 못 알아 먹겠구요... ㅠㅠ (제가 초보)

이상길님과 홍남이님의 조언을 고민하다가 이상길님의 의견대로 하려고 합니다.

세 분 모두 건강하시구요.

너무 너무 감사합니다.

김정주님이 2006-09-14 15:31에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6821time형식을 mssql의 어느 형식으로 바꾸면 좋을까요? [1]
dba
2006-09-04
3242
6820a컴푸터에있는 postgresql의 테이블과내용을
초보
2006-09-02
2915
6819sql파일 import [1]
김기민
2006-08-31
3882
6817이렇게 어려운 문제 풀어 주세요. [4]
김정주
2006-08-29
4036
6816libpq.lib, libpq.dll 버퍼오버런
신기루
2006-08-24
3339
6815[질문]Postgresql ODBC배포문제 입니다.<-아는분 안계시나봐요 [1]
파이팅
2006-08-23
4459
6813컴파일시 에러 발생 합니다.
서경석
2006-08-22
3367
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다