重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
select dept.dept_name,count(users.user_id)
成都创新互联自成立以来,一直致力于为企业提供从网站策划、网站设计、网站建设、成都网站制作、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
from tbl_user users
left join tbl_deptment dept
on users.deptid = dept.id
group by dept.id
这样就可以联查到所有部门名称和人数了,表名和字段参照你自己的数据库表
表统计信息是数据库基于成本的优化器最重要的参考信息;统计信息不准确,优化器可能给出不够优化的执行计划或者是错误的执行计划。对统计信息的计算分为非持久化统计信息(实时计算)与持久化统计信息。
非持久化统计信息
统计信息没有保存在磁盘上,而是频繁的实时计算统计信息;
每次对表的访问都会重新计算其统计信息;
假设针对一张大表的频繁查询,那么每次都要重新计算统计信息,很耗费资源。
持久化统计信息
把一张表在某一时刻的统计信息值保存在磁盘上;
避免每次查询时重新计算;
如果表更新不是很频繁,或者没有达到 MySQL 必须重新计算统计信息的临界值,可直接从磁盘上获取;
即使 MySQL 服务重启,也可以快速的获取统计信息值;
统计信息的持久化可以针对全局设置也可以针对单表设置。
接下来,详细说 MySQL 统计信息如何计算,何时计算,效果评估等问题。在 MySQL Server 层来控制是否自动计算统计信息的分布,并且来决策是持久化还是非持久化。
用学院和及专业分组计数即可获取相应的人数。
假设有学生结构表如下:
students(sid,sname,college,speciality)
列出每个学院下每个专业的学生人数
select college,speciality,count(*)
as persons from students
group by college,speciality;
select 姓名,性别,count(*) AS 男性人数 from [表名] where [性别] = '男' group by [姓名]
结果是这样的:
姓名 性别 男性人数
张三 男 7
李四 男 2
王五 男 5