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 6412 게시물 읽기
No. 6412
정렬에 관한 질문입니다.
작성자
박원준
작성일
2012-09-13 16:54ⓒ
2012-09-14 09:24ⓜ
조회수
6,727

도움을 받았으면 해서 글을 올립니다. 아래 텍스트 형태로 표시를 해 봤습니다.

 

 점검경과일 담당자 항목

10 홍길동 배관
9 이순신 배관
8 이순신 가스
1 홍길동 가스
 
이를 점검경과일이 큰 수로 정렬을 하는 대신  담당자별로 묶어서 보여주려고 합니다. 아래와 같이요.
 
점검경과일 담당자 항목
10 홍길동 배관
1 홍길동 가스
9 이순신 배관
8 이순신 가스
 
담당자 홍길동은 점검경과일이 10일이 지난거와 1일이 지난게 있어서 점검경과일로 정렬시에 1일이 지난게 뒤로 가야겠지만 
홍길동이 점검해야 항목이기에 10일이 지난거와 함께 묶어서 최우선으로 보여주고 싶습니다.
정렬의 기준은 점검경과일이 가장 많이 지난 것을 순서로 하는데, 담당자가 같은 것들은 하나로 묶고 싶습니다.
 
쿼리를 어떻게 접근하는게 좋을지 고민입니다.  먼저 감사드립니다. ^^
 
이 글에 대한 댓글이 총 4건 있습니다.

아래 민권님이 잘 지적해 주셔서 건성나발탱이 쿼리문은 살짝 지워둡니다. -_-;;

 

 SELECT 점검경과일, 담당자, 항목

FROM 테이블

ORDER BY 담당자 DESC, 점검경과일 DESC

;

 

 

우욱님이 2012-09-13 23:40에 작성한 댓글입니다.
이 댓글은 2012-09-17 22:25에 마지막으로 수정되었습니다. Edit

 우욱님이 약간 착각하신게 아닐런지요?

제생각엔 대충 이렇게하는게 어떨지 싶습니다만.

 

SELECT A.*

FROM 점검테이블 A, (

SELECT 담당자, ROW_NUMBER() OVER (ORDER BY MAX(점검경과일) DESC) 점검경과순위

FROM 점검테이블

GROUP BY 담당자) B

WHERE A.담당자 = B.담당자

 

 시간이 없어서 테스트는 못해봤습니다 ^^

고민권(kmg5302)님이 2012-09-17 16:07에 작성한 댓글입니다.
이 댓글은 2012-09-17 16:08에 마지막으로 수정되었습니다.

착각이 아니라 문제를 건성으로 읽었습니다..... T,.T;;

 

민권님이 제시해주신 방법이 거의 정확합니다. 다만 뽑고 싶어하셨던 순서대로 뽑기 위해서는 

ORDER BY 점검경과순위, 점검경과일 DESC
 
를 붙여서
 
 
SELECT A.*, b.*
FROM 점검테이블 A, (
SELECT 담당자, ROW_NUMBER() OVER (ORDER BY MAX(점검경과일) DESC) 점검경과순위
FROM 점검테이블
GROUP BY 담당자) B
WHERE A.담당자 = B.담당자
ORDER BY 점검경과순위, 점검경과일 DESC
;

와 같이 하시면 됩니다.

우욱님이 2012-09-17 22:22에 작성한 댓글입니다. Edit

예 두분 감사드립니다. ^^

말씀처럼 적용하고 있었는데 댓글을 보니 더 감사드리게 되네요.

박원준님이 2012-09-18 10:18에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6415ORACLE에서 MSSQL로 날짜계산 변환 질문입니다. [2]
곰보
2012-09-20
8585
6414sql server 2008 r2 설치 문제입니다 [1]
mssql
2012-09-19
7902
6413쿼리작성질문입니다. [4]
정인수
2012-09-18
6516
6412정렬에 관한 질문입니다. [4]
박원준
2012-09-13
6727
6411msql 쿼리 도움 요청합니다. [1]
궁금이
2012-09-11
6850
6410셀렉트 쿼리 하나 질문이요~ [4]
유상혁
2012-09-06
6943
6409VIEW Table Select시 Base Table을 조회하나요? [1]
김영환
2012-09-05
7601
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.057초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다