基本上,我在 HighCharts 柱形图上的仪表板上工作,以表示一个地区的员 worker 数,当我单击该地区的列时,它应该向下钻取并显示该地区所有地区的员 worker 数. employee 表连接 District 表,District 表连接 Region 表。
我试过下面的查询
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
最佳答案
您是否考虑过使用 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/