我有一个大型数据库,我在其中使用了LIMIT,这样就不会每次都获取查询的所有结果(这不是必需的).但我有一个问题:我需要计算结果的数量.最愚蠢的解决方案如下所示,而且它奏效了:
我们只需要得到我们需要的数据:
SELECT * FROM table_name WHERE param > 3 LIMIT 10
然后我们找出长度:
SELECT COUNT(1) FROM table_name WHERE param > 3 LIMIT 10
但这个解决方案让我感到困扰,因为与所讨论的查询不同,我使用的查询很复杂,基本上必须运行两次才能得到结果.
对我来说,另一个愚蠢的解决方案是:
SELECT COUNT(1), param, anotherparam, additionalparam FROM table_name WHERE param > 3 LIMIT 10
但这只导致了一行.在这一点上,如果它只是用相同的数字填充计数行,我就可以了,我只需要这个信息,而不浪费计算时间.
有没有更好的方法来实现这一点?
顺便说一句,我不希望得到10作为COUNT
的结果,我需要没有LIMIT
的长度.