MySQL 有没有办法COUNT(*)
从表中如果数字大于x
,它会在那里停止计数吗?基本上,我只想知道查询返回的记录数是否大于或小于特定数字。如果大于该数字,我并不关心有多少行,如果小于该数字,请告诉我计数。
我已经能够像这样捏造它:
-- let x be 100
SELECT COUNT(*) FROM (
SELECT `id` FROM `myTable`
WHERE myCriteria = 1
LIMIT 100
) AS temp
...但我想知道是否有一些方便的内置方法可以做到这一点?
感谢您的建议,但我应该更清楚这个问题背后的原因。它从几个连接的表中进行选择,每个表都有数千万条记录。跑步COUNT(*)
使用索引条件仍然需要大约 80 秒,运行不带索引的条件大约需要 30 分钟左右。它更多的是关于优化查询而不是获得正确的输出。
SELECT * FROM WhateverTable WHERE WhateverCriteria
LIMIT 100, 1
LIMIT 100, 1 返回第 101 条记录(如果有),否则返回没有记录。如果有帮助的话,您也许可以将上述查询用作 EXIST 子句中的子查询。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)