在 MySQL 查询中使用 SELECT 和 LIMIT 时如何计算所有行?

How to count all rows when using SELECT with LIMIT in MySQL query?(在 MySQL 查询中使用 SELECT 和 LIMIT 时如何计算所有行?)
本文介绍了在 MySQL 查询中使用 SELECT 和 LIMIT 时如何计算所有行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个像这样的 mysql 查询:

I've got a mysql query like this:

SELECT A.ID, A.NAME, B.ID, B.NAME
FROM table1 A
JOIN table2 B ON ( A.ID = B.TABLE1_ID )
WHERE
    cond1, cond2, ..., condN
LIMIT 10

我在查询中有很多 where 子句.如何改进此查询以获得完整的行数?我不想在没有 LIMIT 的情况下再使用一个请求.

I've got many where clauses in query. How to improve this query to get also full row count? I don't want to use one more request without LIMIT.

推荐答案

您正在寻找的是 这个

SELECT SQL_CALC_FOUND_ROWS A.ID, A.NAME, B.ID, B.NAME
FROM table1 A
JOIN table2 B ON ( A.ID = B.TABLE1_ID )
WHERE
  cond1, cond2, ..., condN
LIMIT 10

SELECT FOUND_ROWS();

这篇关于在 MySQL 查询中使用 SELECT 和 LIMIT 时如何计算所有行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)