如何获取总记录详细信息以及具有限制的查询
我的MySQL
查询在下面给出
SELECT name FROM employees LIMIT 10
会给我10
行,但总记录大约为6000
。我们怎样才能与上述查询一起得到
答案 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