Mysql Like偏移量限制查询不起作用

时间:2019-01-29 12:25:01

标签: mysql sql

当我尝试此查询时,我没有得到结果:

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 无效的原因,为什么?以及如何使用此查询?

2 个答案:

答案 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以查看数据,或在将数据检索到临时表后有条件地应用它。