Mysql SQL查询顺序
我是一名iOS开发人员,绝对没有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?)返回的结果超过
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的结果优先级更高呢?这非常有效!你救了我一天,先生,非常感谢!:)