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 2559 게시물 읽기
No. 2559
특정값을 갖는행을 우선순위로 정렬..
작성자
강동호(hanjo20)
작성일
2005-12-16 13:26
조회수
6,429

좀 복잡한 쿼리인데.. 간단히하자면..

 

아래와 같은 테이블이 있다고 가정할때..

 

idx name 출생일(아무렇게나-_-)

1 강감찬 1111

2 권율 1234

3 이순신 1324

4 세종대왕 1756

5 장영실 1774

6 홍길동 1600

이런상황일때..

 

idx순으로 정렬을해서 출력을 하되(1,2,3,4,5,6)

출생일이 1300년대인 사람과 1600년대인사람을 가장 맨위로 출력을 한후 나머지를 idx로 정렬을하고싶다면 어떻게 쿼리를 짜야하나요 -_-?

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

 

------------------------------------------------
-- 준비
create table tmp(idx int,name varchar(10),출생일 int)

insert tmp values(1,'강감찬',1111)
insert tmp values(2,'권율',1234)
insert tmp values(3,'이순신',1324)
insert tmp values(4,'세종대왕',1756)
insert tmp values(5,'장영실',1774)
insert tmp values(6,'홍길동',1600)

------------------------------------------------
-- 여기부터

select * from tmp
order by case when 출생일 / 100 in (13,16) then 0 else 1 end,idx

------------------------------------------------
-- 결과

idx         name       출생일        
----------- ---------- -----------
3           이순신        1324
6           홍길동        1600
1           강감찬        1111
2           권율         1234
4           세종대왕       1756
5           장영실        1774

(6개 행 적용됨)

 

최석준(beatchoi)님이 2005-12-16 13:34에 작성한 댓글입니다.
이 댓글은 2005-12-16 13:34에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
2562top10까지의 건수를 출력하고 10이하의 모든 건수를합치구요 이름을 others로통합할려며 어떻게하죠 [2]
back
2005-12-16
2376
2561쿼리좀 봐주세요 [1]
이은규
2005-12-16
1608
2560netstat -an에서 1433포트가 목록에 없는 문제 [4]
김정화
2005-12-16
2589
2559특정값을 갖는행을 우선순위로 정렬.. [1]
강동호
2005-12-16
6429
2557트리거 관련 질문 [1]
toyons
2005-12-16
2348
2556아래과 같이 24시간 시간을 나타내고 싶은데 어떻게 하죠
back
2005-12-15
1702
2555쿼리 에러좀 찾아 주세요(글자가 깨져 나와서) 일일별 우선순위의 합계구하기 입니다. [2]
back
2005-12-15
1971
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다