mysql如何查出总数?

刚开始是这样写的:

select 
   COUNT(1) as total
from 
   users

确实是查出总数,但我想查出users所有数据且包含总数的时候,该怎么写呢?

试了这样,不行!

select 
  *,COUNT(1) as total
from 
  users
阅读 3.4k
4 个回答

自行替换 <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

这样行,但是效率极低。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题