刚开始是这样写的:
select
COUNT(1) as total
from
users
确实是查出总数,但我想查出users所有数据且包含总数的时候,该怎么写呢?
试了这样,不行!
select
*,COUNT(1) as total
from
users
###自行替换 <TABLE_NAME>
为表名称。
SELECT *,( SELECT count(*) FROM <TABLE_NAME> ) AS total
FROM
<TABLE_NAME>;
###SELECT SQL_CALC_FOUND_ROWS * FROM users
查询数据,再使用SELECT FOUND_ROWS()
查询总数(忽略LIMIT
子句)
如果查询全部数据,代码对结果集count一下处理,不一定非要MySQL解决所有问题
###分两次查, 这个没必要放一个sql里面.
###select *, (select COUNT(1) from users) as total
from users
这样行,但是效率极低。