对不起我的基本问题,我在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
我在查询中做错了什么?
答案 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转换为更高的值。