如何获得以及查询的总记录细节是有一个限度

问题描述:

如何获得总记录的详细信息与是有一个限度以下如何获得以及查询的总记录细节是有一个限度

SELECT name FROM employees LIMIT 10 

MySQL查询给出的查询一起

这将给我10行,但总记录将在6000左右。我们怎样才能像也随着上述查询

+0

见http://meta.*.com/questions/333952/why-should-i-provide-an-mcve-for-what-seem-to-be-a-very-simple-sql-query – Strawberry

使用子查询:

SELECT name, (SELECT COUNT(*) FROM employees) AS cnt 
FROM employees 
LIMIT 10 

使用Sub-query

SELECT nameFROM, 
     (select count(1) from employees) as total_count 
From employees 
LIMIT 10 

CROSS JOIN

SELECT nameFROM,total_count 
From employees 
CROSS JOIN (select count(1) total_count from employees) A 
LIMIT 10 

添加ORDER BY到您的查询将使结果一致

您可以在查询中使用SQL_CALC_FOUND_ROWS选项,该选项将告诉MySQL统计不考虑LIMIT子句的总行数。您仍然需要执行第二个查询以检索行数,但这是一个简单的查询,并且不像检索数据的查询那么复杂。用法很简单。在你主查询你需要添加SQL_CALC_FOUND_ROWS选项,只需选择后在第二个查询你需要使用FOUND_ROWS()函数来获取行

SELECT SQL_CALC_FOUND_ROWS name FROM employees WHERE LIMIT 10 

SELECT FOUND_ROWS(); 
+0

但是我没有得到6000 for SQL_CALC_FOUND_ROWS –

总数
(SELECT NAME, 1 AS 'Obs' FROM employees LIMIT 10) 
union select 'RecsinTable', count(*) from employees