我从sqlite数据库中获取了一些数据,我的查询工作正常,直到我添加了order by子句
我的查询的结构如下
SELECT * FROM TESTI WHERE TESTO like'%test%'COLLATE NOCASE LIMIT 100 OFFSET 0
这样运行良好,我在数据库的前100行中得到了包含单词test的所有记录,但是当我以这种方式添加ORDER BY子句时
SELECT * FROM TESTI WHERE TESTO like'%test%'COLLASE NOCASE LIMIT 100 OFFSET 0按ID排序
系统挂起的时间不确定(我必须强制关闭)
表TESTI有35000行,如何在不挂全部系统的情况下按ID排序?
您有一个SQL语法错误。ORDER BY
应该放在LIMIT
和之前OFFSET
,如下所示:
SELECT * FROM TESTI WHERE TESTO LIKE '%test%' COLLATE NOCASE ORDER BY ID LIMIT 100 OFFSET 0
它为什么挂起不是由于SQL,而是由于您的程序正在运行它。它可能无法从语法错误中恢复。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句