帮我写一条sql获取每个地区不同职位的人员数量,进行行转列并以地区做为列,行分别是(A地区、B地区、C地区)然后合计每个地区不同职位的人员数量; 有三张表分别是ruzhidengji、psb_city、yuangongleixing; ruzhidengji表的字段有:city_code,yuangongleixingid; psb_city表的字段有:code; yuangongleixing表的字段有:id、name;
时间: 2023-06-05 09:07:28 浏览: 94
好的,这是一个技术问题,我可以帮你回答。以下是 SQL 代码:
SELECT yuangongleixing.name AS job_type,
SUM(CASE WHEN psb_city.code = 'A' THEN 1 ELSE 0 END) AS A,
SUM(CASE WHEN psb_city.code = 'B' THEN 1 ELSE 0 END) AS B,
SUM(CASE WHEN psb_city.code = 'C' THEN 1 ELSE 0 END) AS C,
COUNT(*) AS total
FROM ruzhidengji
JOIN psb_city ON ruzhidengji.city_code = psb_city.code
JOIN yuangongleixing ON ruzhidengji.yuangongleixingid = yuangongleixing.id
GROUP BY yuangongleixing.name;
这条 SQL 语句会返回每个职位不同地区的人员数量及其合计。A、B、C 分别代表不同的地区,total 列是该职位总人数。
希望这个回答能够对你有所帮助。
阅读全文