2012-02-20 4 views
0

나는 1+로 주문하는 방법을 궁금해하고 마지막에는 0 값을가집니다.mysql을 1+로 추가하고 끝에 0을 추가하십시오.

SQL 구조 :

나는 다른 후 episode의 0 값으로 다음 show_title, season, episode(1+) 어떤 에피소드로 주문 할
id || show_title || season || episode || title || plot || runtime || airdate 

.

+0

을, 어떤 "허용 대답은"표시되지, 그들은 수정하거나하지 않습니다. 그렇지 않다면 샘플 데이터를 버리고 결과를 어떻게 예상 할 수 있습니까? – DRapp

+0

죄송합니다 게시 한 후 일하러 가야했습니다. 지금 승인 된 답변! : D – rackemup420

답변

2

아주 간단

SELECT 
...... 
ORDER BY show_title ASC, seasons ASC, (episode>0) DESC, episode ASC 

편집는 확인 후 이것을 정리 마크 B의 그런 다음 당신이 말한대로 정확히 할

+0

감사의 작품처럼 매력! – rackemup420

4
SELECT ... 
... 
ORDER BY show_title, season, (episode = 0) DESC, episode 

간단히 말해서 episode = 0은 부울 true/false로 평가됩니다. DESC의 주문은 모든 실제 결과 (에피소드가 실제로 = 0)를 먼저 내 보낸 다음 나중에 다른 모든 에피소드 값에 따라 오름차순 (기본) 순서로 정렬합니다.

+2

여기에 맞다 - 이건 약간 깔끔하고 좋은 설명이있다. –

+0

@MarcB, 나는 에피소드의 = 0이 다른 것의 뒤에 오도록'(episode> 0)'이어야한다고 생각한다. –

+0

나는 @MGA를 알아 차리지 못했다. 내 대답은 결국 정확한 것 같아! :) –

0

..? MySQL은

SELECT ... 
FROM ... 
ORDER BY show_title, season, episode DESC 

참고 기본 순서는 그래서 명시 적으로 내림차순으로 만들기 위해 쿼리에서 (종료)를 'DESC'를 넣어, 오름차순입니다.

은 (1+ 또는 0를 포함하는 텍스트 필드 episode인가, 또는 숫자인가?)

MySQL ORDER BY docs.

0

아래에보십시오 : 그들이 작동하는 것처럼 모든 보면 많은 답변을

SELECT ... 
FROM tablename 
ORDER BY show_title,season,if(episode=0,1,0) 
관련 문제