基本上,我正在HighCharts Column图表上的仪表板上工作,以表示区域中的员工人数,当我单击该区域的列时,它应该向下钻取并显示该区域所有地区的员工人数.员工表连接到地区表,地区表连接到地区表.
我尝试了以下查询
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
但是它显示了一个地区的雇员人数.如何将它们分组并获得一个地区的雇员人数?
小提琴
解决方法:
您是否考虑过使用GROUP BY WITH ROLLUP为每个Region区域名称为NULL且该计数为该区域的区域级别计数汇总的区域提供额外的行?
该SQL应该以我的思路指导您正确的方向.我和您的小提琴一起玩,它似乎与您的要求大致相同:
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
标签:sql,mysql
来源: https://codeday.me/bug/20191118/2031621.html