当我尝试此查询时,我没有得到结果:
SELECT * FROM m_blog
WHERE isdeleted='0' and title LIKE '%t%'
ORDER by createdAt DESC
LIMIT 10 OFFSET 10
但是当我使用此查询时,我得到了正确的结果:
SELECT * FROM m_blog
WHERE isdeleted='0' and title LIKE '%t%'
ORDER by createdAt DESC
LIMIT 10
我认为原因是 LIKE
且 OFFSET
无效的原因,为什么?以及如何使用此查询?
答案 0 :(得分:1)
这回答了问题的原始版本。
您没有满足此条件的行:
isdeleted = '0' and title LIKE '%t%'
您确实有满足此条件的行:
content LIKE '%a%'
请注意,isdeleted
不适用于此条件。
这与使用like and
limit`无关。
答案 1 :(得分:0)
OFFSET N
选项会将起始指针移到第N个位置,并开始从那里开始按ORDER BY
的顺序返回行。
您的第一个查询未检索行,因为要检索的行不超过10个(最大)。因此,当您告诉引擎“将我带入第11位”时,只有5行,它什么也不返回。
删除OFFSET
以查看数据,或在将数据检索到临时表后有条件地应用它。