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
운영게시판
최근게시물
MySQL Q&A 30279 게시물 읽기
No. 30279
정렬방법에 대해 문의 드립니다~
작성자
김대영(kprocom)
작성일
2012-07-03 15:37
조회수
8,356

제가 사용하는 테이블에

date, model 값이 있는데요

정렬을 date기준으로 하되 같은 모델끼리 붙어서 나오게 하고싶어서요~

제생각에는

order by date, model 로 해주면 될것같았는데


정렬된 값을 보니

07/01        model1
07/01        model2
07/01        model2
06/30        model1

이런 식이더라구요~

이걸

07/01        model1
06/30        model1
07/01        model2
07/01        model2

이런식으로 정렬하려면 쿼리를 어떻게 날려야 할까요??

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

다음과 같이 하시면 되겠네요~

 select date,model from table_name order by model, date desc;

정상규(pajama)님이 2012-07-03 16:00에 작성한 댓글입니다.

네~ 그렇게도 해봤는데요~

그렇게 하게되면

모델명으로 우선 정렬을 하다보니 날짜가 섞이는 경우가 발생하더라구요;; ^^

김대영(kprocom)님이 2012-07-03 16:07에 작성한 댓글입니다.

 질문의 희망 결과에서도 이미 날짜가 섞여있음.

우욱님이 2012-07-03 16:10에 작성한 댓글입니다. Edit

데이터를 임의로 올리고 설명을 하려다보니 설명을 잘 못드린것 같네요
실제 데이터는 이렇게 생겼는데요

 

07/02 모델이 위로 올라왔으면 싶어서요

 

07/03 CKP-260-120629-01
06/29 CKP-195-120623-15
06/29 CKP-195-120623-15
07/02 CKP-012-120626-08

 

위가 현재 상태이고

 

07/03 CKP-260-120629-01
07/02 CKP-012-120626-08
06/29 CKP-195-120623-15
06/29 CKP-195-120623-15

 

아래가 원하는 결과입니다.
 

김대영(kprocom)님이 2012-07-03 16:15에 작성한 댓글입니다.
이 댓글은 2012-07-03 16:16에 마지막으로 수정되었습니다.

 select date,model from table_name order by date desc, model;

이럼 되는거죠?

우욱님이 2012-07-03 17:05에 작성한 댓글입니다. Edit

그렇게 하게되면 날짜순서대로 나오긴 하는데요~

동일모델 사이에 다른 모델이 있으면 묶여야 할 모델이 아래쪽으로 따로 출력이 되더라구요

07/03 CK119-120702-100
07/03 CKP-012-120629-01
07/03 CKP-012-120629-01
07/02 CK119-120702-100

이런식으로요 ^^

07/03 CK119-120702-100
07/02 CK119-120702-100
07/03 CKP-012-120629-01
07/03 CKP-012-120629-01

원하는건 이렇게 날짜별로 정렬을 하되 같은 모델은 붙어서 나오게 할려고 하는데 잘 안되네요 ^^

김대영(kprocom)님이 2012-07-03 17:11에 작성한 댓글입니다.

마지막에 보여주신 결과가 날짜순이 아닌데요 

우욱님이 2012-07-03 22:25에 작성한 댓글입니다. Edit

아주 복잡한 정렬을 원하시네요.

SELECT a.date, a.model

FROM table_name a

 JOIN ( SELECT model, max(date) maxDate

             FROM table_name

             GROUP BY model) b ON (b.model = a.model)

ORDER BY b.maxDate DESC, a.model ASC, a.date DESC

이런식으로 하면 원하시는 결과 나올 것 같네요

박인호(paerae)님이 2012-07-16 16:53에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30285데이타베이스 백업 어떻게 하는지 좀 알려주세요!
이정환
2012-07-15
7766
30283select 시에 락(?)이 걸립니다. [2]
김영범
2012-07-12
9042
30280쿼리좀 봐주세여. [1]
장학우
2012-07-10
8413
30279정렬방법에 대해 문의 드립니다~ [8]
김대영
2012-07-03
8356
30278쿼리질문입니다. [2]
쿼리질문
2012-07-01
7962
30277쿼리 질문좀 드려요 ㅠ [2]
우동
2012-06-30
8456
30276mysql 질문 올려 드립니다. [1]
김문환
2012-06-28
8353
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다