2013-11-23 3 views
0

죄송합니다. 내 기본적인 질문입니다. 나는 두 시간 동안 stackoverflow에서 검색하고 있습니다. 두 개의 정수 열을 순서대로 선택해야하는 mysql 테이블이 있습니다. mysql_query("SELECT name FROM partners ORDER BY id DESC, status DESC");2 개의 정수 열로 정렬 된 MySQL 쿼리

결과는 다음과 같습니다 :

partners 
+----+--------+----------+ 
| id | status | name | 
+----+--------+----------+ 
| 1 | 0 | Adam | 
| 2 | 1 | Charles | 
| 3 | 1 | Bob | 
| 4 | 0 | Raven | 
+----+--------+----------+ 

내가 사용하는 경우

Raven 
Bob 
Charles 
Adam 

하지만 상단에 항상 상태 = 1이 결과를 필요

Bob 
Charles 
Raven 
Adam 

나는 쿼리에서 잘못하고 있니?

답변

3
mysql_query("SELECT name FROM partners ORDER BY status DESC, id DESC"); 

정렬 할 순서대로 정렬하려는 항목을 넣으십시오.

+0

나를 이길 :) –

1

status = 1 항상 맨 위를 표시하고 다른 것은 DESC로 정렬합니다.

SELECT name, IF(status = 1, 99999999, status) as sts 
FROM partner 
ORDER BY sts DESC; 

즉, 1을 더 높은 값으로 변환하려면 IF()을 사용하십시오.

관련 문제