Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 优先考虑找到匹配项的字段_Mysql_Sql - Fatal编程技术网

Mysql 优先考虑找到匹配项的字段

Mysql 优先考虑找到匹配项的字段,mysql,sql,Mysql,Sql,假设我有以下字段: +--------+----------+-----------+ | id | read_to | read_from | +--------+----------+-----------+ | 1 | 0 | 0 | +--------+----------+-----------+ 现在让我们假设我进行如下简单查询: SELECT * FROM `table` 2 - 1 - 0 4 - 1 - 1 1 - 0 -

假设我有以下字段:

+--------+----------+-----------+
| id     | read_to  | read_from |
+--------+----------+-----------+
|   1    |    0     | 0         |
+--------+----------+-----------+
现在让我们假设我进行如下简单查询:

SELECT * FROM `table`
2 - 1 - 0
4 - 1 - 1
1 - 0 - 0
3 - 0 - 0
SELECT
  *
FROM
  Table1
ORDER BY
  Table1.read_to DESC,
  Table1.read_from ASC
现在,我想首先选择那些字段
,其中read_to=1或read_from=1

然后选择其余的数据

例如,如果有这种结构:

1 - 0 - 0
2 - 1 - 0
3 - 0 - 0
4 - 1 - 1
我会得到这样的结果:

SELECT * FROM `table`
2 - 1 - 0
4 - 1 - 1
1 - 0 - 0
3 - 0 - 0
SELECT
  *
FROM
  Table1
ORDER BY
  Table1.read_to DESC,
  Table1.read_from ASC
两个问题:

  • read\u to
    read\u from
    是否始终为0或1
  • 您需要什么特别的订货吗
如果值始终为1或0,并且您不需要特定的排序,则可以使用
排序依据

SELECT *
FROM table
ORDER BY
    read_to DESC,
    read_from DESC

您必须使用ORDERBY子句

SELECT * FROM `table` ORDER BY read_to,read_FROM DESC

也许是这样的:

SELECT * FROM `table`
2 - 1 - 0
4 - 1 - 1
1 - 0 - 0
3 - 0 - 0
SELECT
  *
FROM
  Table1
ORDER BY
  Table1.read_to DESC,
  Table1.read_from ASC

这里有一个解决方案,可以让您指定“升级”记录的条件


谢谢你这正是我需要的