mysql - 使用 LIMIT 子句进行计数

标签 mysql sql

我使用下面的查询来计算总记录

SELECT COUNT(*) as tot FROM last as l JOIN box m on m.id = l.id 
     WHERE m.st > l.st AND l.id = 23 LIMIT 5;

但是即使我设置限制 5,此查询仍然返回总计数为 20 行,如何将其限制为 5 。使用 count(*) 是否存在性能问题?非常感谢任何帮助。

最佳答案

您将需要内部查询来实现您的目的:

SELECT COUNT(*) as tot 
FROM 
  (SELECT * FROM last as l JOIN box m on m.id = l.id 
   WHERE m.st > l.st AND l.id = 23 LIMIT 5) AS `t1`;

关于mysql - 使用 LIMIT 子句进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24139864/

相关文章:

sql - MySQL "between"子句不包含?

sql - 为什么有些连接需要很长时间,而其他连接很快?

mysql - UNION All,Group BY 然后得到整体 COUNT

php - 使用 php 连接两个 MySQL 表并对结果进行分组

php - XAMPP phpMyAdmin session 错误

sql - 给定一个日期,如何获取数据库中的下一个和上一个日期

php - 加入表并查找并获取指定的行 laravel

mysql - 如何跳转到mysql中的下一个id

sql - 如何循环遍历sql中表的项目列表

php - 使用php时如何防止sql注入(inject)?id=