2013-11-23 39 views
0

對不起我的基本問題,我在兩個小時內搜索stackoverflow。我有一個MySQL表,我需要選擇由兩個整數列排序。按兩個整數列排序的Mysql查詢

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

當我使用:mysql_query("SELECT name FROM partners ORDER BY id DESC, status DESC");

結果是:

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; 

即使用IF()將1轉換爲某個更高的值。