假设我有这些字段:
+--------+----------+-----------+
| id | read_to | read_from |
+--------+----------+-----------+
| 1 | 0 | 0 |
+--------+----------+-----------+
现在让我说我做这样简单的查询:
SELECT * FROM `table`
现在我想选择第一个这些字段WHERE read_to = 1 OR read_from = 1
然后选择其余数据。
例如,如果有这种结构:
1 - 0 - 0
2 - 1 - 0
3 - 0 - 0
4 - 1 - 1
我会得到这样的东西:
2 - 1 - 0
4 - 1 - 1
1 - 0 - 0
3 - 0 - 0
答案 0 :(得分:4)
这是一个解决方案,可让您为“提升”记录指定条件。
SELECT *
FROM test
ORDER BY CASE
WHEN read_to = 1 AND read_from = 1 THEN 0 -- you can tune the condition here
ELSE 1
END;
答案 1 :(得分:1)
几个问题:
read_to
和read_from
始终为0还是1?如果值始终为1或0且您不需要特定排序,则可以使用ORDER BY
:
SELECT *
FROM table
ORDER BY
read_to DESC,
read_from DESC
答案 2 :(得分:1)
您必须使用ORDER BY子句。
SELECT * FROM `table` ORDER BY read_to,read_FROM DESC
答案 3 :(得分:1)
也许是这样的:
SELECT
*
FROM
Table1
ORDER BY
Table1.read_to DESC,
Table1.read_from ASC