mysql - 统计区、地区员 worker 数查询

标签 mysql sql

基本上,我在 HighCharts 柱形图上的仪表板上工作,以表示一个地区的员 worker 数,当我单击该地区的列时,它应该向下钻取并显示该地区所有地区的员 worker 数. employee 表连接 District 表,District 表连接 Region 表。

enter image description here

我试过下面的查询

SELECT ad.DISTRICT_NAME, COUNT(me.district_id), r.REGION_NAME, COUNT(me.district_id) 
FROM `master_employee` me 
INNER JOIN app_district ad ON me.`district_id` = ad.`DISTRICT_UID`
INNER JOIN region r ON ad.REGION_UID = r.REGION_UID 
GROUP BY me.district_id, ad.REGION_UID 

但它显示了一个地区的雇员人数。我如何对它们进行分组并获得一个地区的员 worker 数?

fiddle

http://www.sqlfiddle.com/#!9/ec468c/1

最佳答案

您是否考虑过使用 GROUP BY WITH ROLLUP 为地区名称将为 NULL 且计数将是该地区地区级别计数的汇总的每个地区提供额外的行?

这条 SQL 应该让您按照我的思路指向正确的方向。我玩过你的 fiddle ,它似乎近似于你的要求:

SELECT r.Region_Name
     , ad.District_Name
     , Count(me.employee_id)
  FROM `master_employee` me 
 INNER JOIN app_district ad 
         ON me.`district_id` = ad.`DISTRICT_UID`
 INNER JOIN region r 
         ON ad.REGION_UID = r.REGION_UID 
 GROUP BY ad.REGION_UID, ad.District_Name WITH ROLLUP 

关于mysql - 统计区、地区员 worker 数查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36226966/

相关文章:

php - 删除按钮删除数据库表行

mysql - 如何为这种多对多关系建立关系数据库表?

mysql - 获取两周内的所有记录

sql - 如何将结果集中的单行表示为多行?

sql - INNER JOIN 性能是否取决于表的顺序?

php - 如何从表中发布最后 x 行和 z 列的数据? (MYSQL/PHP)

php - 如何将mysql计数输出转换为php变量

mysql - 构建每日销售数据库

php - UTF-8 问题 PHP/MySQL

java - PreparedStatement