【发布时间】:2023-01-13 00:09:26
【问题描述】:
如果我有一个 mysql 限制查询:
SELECT * FROM my_table WHERE date > '2020-12-12' LIMIT 1,16;
有没有更快的方法来检查并查看在我的限制之后还剩下多少结果?
我试图做一个有限制的计数,但那没有用,即
SELECT count(ID) AS count FROM my_table WHERE date > '2020-12-12' LIMIT 16,32;
这里的最终目标只是确定在当前结果集之外是否还有任何其他行,因此如果有另一种更快的方法来执行此操作,那也很好。
【问题讨论】:
-
它是否需要是一个 MySQL 命令,或者你是否可以做一个简单的存储过程,如果你这样做,然后 IF/Then 检查数组的 UBOUND,然后让它决定做一件事(当它在限制下时的默认事情) 并使用 ELSE 超出您设定的限制来做其他事情,例如创建另一个选择来执行反向操作以查找排除的记录。
-
我可能没有考虑到这一点,但您不能只使用
SELECT count(ID) - 32 AS count FROM my_table WHERE date > '2020-12-12';来减去您已经检索到的结果数吗? -
@yoniLavi 你想多了是我想多了。如此明显。
标签: mysql