Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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 SQL查询顺序_Mysql_Sql - Fatal编程技术网

Mysql SQL查询顺序

Mysql SQL查询顺序,mysql,sql,Mysql,Sql,我是一名iOS开发人员,绝对没有SQL数据库方面的经验。但是,我正在使用下一个查询获取一些信息: INSERT INTO search ( packageID ) SELECT RowID FROM packages WHERE name LIKE ? OR description LIKE ? ORDER BY %@ ASC (这只是一个客观的NSC字符串) 我的问题是,是否要对结果进行排序,使第一个WHERE(WHERE name LIKE?)返回的结果超过

我是一名iOS开发人员,绝对没有SQL数据库方面的经验。但是,我正在使用下一个查询获取一些信息:

INSERT INTO search ( packageID )
    SELECT RowID
    FROM packages
    WHERE name LIKE ? OR description LIKE ?
    ORDER BY %@ ASC
(这只是一个客观的NSC字符串)

我的问题是,是否要对结果进行排序,使第一个WHERE(
WHERE name LIKE?
)返回的结果超过第二个WHERE返回的结果


非常感谢,请原谅我的无知

如果您想让一个条件优先于另一个条件,您可以在
顺序的键中用
表示:

SELECT RowID
FROM packages
WHERE name LIKE ? OR description LIKE ?
ORDER BY (CASE WHEN name LIKE ? THEN 1 ELSE 2 END),
          %@ ASC  -- not sure if this is needed or desired

请注意,SQL表表示无序集。如果确实需要按此顺序创建结果集,请运行
SELECT
查询。一旦进入表格,订购信息(理论上)就会丢失。

insert不会返回结果,因此您让我们都感到困惑。不,它会将结果插入表格中。但回报的是。。。。不管怎样,正如我所说,我只是一名iOS开发人员:/where条件不能指定优先级,只能对返回的结果集排序。@AndrewSchultz我怎么能对第一个where的结果排序比第二个where的结果优先级更高呢?这非常有效!你救了我一天,先生,非常感谢!:)