我正在尝试写一个函数在python中使用sqlite和当我设法得到它工作有一个行为在sqlite中我不理解当使用这count命令.当我运行这下面sqlite计数象预期的那样,ie返回一个int.
SELECT COUNT (*) FROM Material WHERE level IN (?) LIMIT 10
然而,当我添加一个如下所示的偏移量到sqlite末尾时,返回一个emply列表,换句话说,什么也没有。
SELECT COUNT (*) FROM Material WHERE level IN (?) LIMIT 10 OFFSET 82
虽然省略偏移量是一个简单的解决方法,但我不明白为什么sqlite什么也不返回。这是我给出的命令的预期行为吗?
感谢阅读
1条答案
按热度按时间hsvhsicv1#
当您执行**COUNT(*)**时,它将只返回一行。
LIMIT函数用于限制返回的行数。您将限制设置为10,这在这里没有任何效果(因为它只返回一行)。
OFFSET用于偏移/跳过指定的行数。在这里也没有任何作用。
简单地说,您的查询将转换为COUNT行数,然后从第83位开始返回10行。由于只有一行,因此它将始终返回空。
阅读关于Mystic Hostel