如何获取总记录详细信息以及具有限制的查询

时间:2016-11-12 08:35:48

标签: mysql sql totals

如何获取总记录详细信息以及具有限制的查询

我的MySQL查询在下面给出

SELECT name FROM employees LIMIT 10

会给我10行,但总记录大约为6000。我们怎样才能与上述查询一起得到

4 个答案:

答案 0 :(得分:0)

使用子查询:

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

答案 1 :(得分:0)

使用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会使结果保持一致

答案 2 :(得分:0)

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

SELECT SQL_CALC_FOUND_ROWS name FROM employees WHERE LIMIT 10

SELECT FOUND_ROWS();

答案 3 :(得分:0)

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