Mysql查询由两个整数列排序

时间:2013-11-23 22:22:35

标签: mysql sql-order-by

对不起我的基本问题,我在stackoverflow中搜索了两个小时。我有一个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

我在查询中做错了什么?

2 个答案:

答案 0 :(得分:3)

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

按照您希望排序的顺序放置要排序的内容。

答案 1 :(得分:1)

status = 1始终显示为顶部,其他人按DESC排序。

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

即。使用IF()将1转换为更高的值。