从表中计数,但在某个数字处停止计数

nic*_*ckf 6 mysql sql database count query-optimization

MySQL中是否有一种方法可以COUNT(*)从一个数据大于的表中x停止计数?基本上,我只想知道从查询返回的记录数是多少还是少于一个特定的数字.如果它超过那个数字,我真的不在乎有多少行,如果它少,请告诉我计数.

我已经能够像这样捏造它:

-- let x be 100

SELECT COUNT(*) FROM (
    SELECT `id` FROM `myTable`
    WHERE myCriteria = 1
    LIMIT 100
) AS temp
Run Code Online (Sandbox Code Playgroud)

...但我想知道是否有一些方便的内置方式来做到这一点?


感谢您的建议,但我应该更清楚这个问题背后的原因.它从几个连接表中进行选择,每个表都有数千万条记录.COUNT(*)使用索引标准运行仍然需要大约80秒,运行没有索引的标准大约需要30分钟左右.它更多的是优化查询而不是获得正确的输出.

Sal*_*n A 7

SELECT * FROM WhateverTable WHERE WhateverCriteria
LIMIT 100, 1
Run Code Online (Sandbox Code Playgroud)

LIMIT 100,1返回第101条记录,如果有的话,或者没有其他记录.您可以将上述查询用作EXIST子句中的子查询,如果有帮助的话.