SQL 计算每个部门的不同职位
SQL count different jobs in each departmen
我想不出一种方法来显示每个部门中不同职位的数量。我得到的输出计算了所有 job_ids 甚至相同的,但我只希望它显示该城市部门的不同工作数量。
SELECT DISTINCT DEPARTMENT_ID, substr(DEPARTMENT_NAME, 0, 15),
substr(NVL(CITY, 'Not Assigned Yet'), 0, 20) "City",
COUNT(JOB_ID) "# of Jobs"
from EMPLOYEES
LEFT OUTER JOIN DEPARTMENTS
USING(DEPARTMENT_ID)
LEFT OUTER JOIN LOCATIONS
USING(LOCATION_ID)
GROUP BY DEPARTMENT_ID, DEPARTMENT_NAME, CITY
感谢所有帮助。
使用COUNT(DISTINCT JOB_ID)
,计算有多少不同值:
SELECT DEPARTMENT_ID, substr(DEPARTMENT_NAME, 0, 15),
substr(NVL(CITY, 'Not Assigned Yet'), 0, 20) "City",
COUNT(DISTINCT JOB_ID) "# of Jobs"
FROM EMPLOYEES
LEFT OUTER JOIN DEPARTMENTS
USING(DEPARTMENT_ID)
LEFT OUTER JOIN LOCATIONS
USING(LOCATION_ID)
GROUP BY DEPARTMENT_ID, DEPARTMENT_NAME, CITY
而且您不需要 SELECT DISTINCT
- 只需 SELECT
。
我想不出一种方法来显示每个部门中不同职位的数量。我得到的输出计算了所有 job_ids 甚至相同的,但我只希望它显示该城市部门的不同工作数量。
SELECT DISTINCT DEPARTMENT_ID, substr(DEPARTMENT_NAME, 0, 15),
substr(NVL(CITY, 'Not Assigned Yet'), 0, 20) "City",
COUNT(JOB_ID) "# of Jobs"
from EMPLOYEES
LEFT OUTER JOIN DEPARTMENTS
USING(DEPARTMENT_ID)
LEFT OUTER JOIN LOCATIONS
USING(LOCATION_ID)
GROUP BY DEPARTMENT_ID, DEPARTMENT_NAME, CITY
感谢所有帮助。
使用COUNT(DISTINCT JOB_ID)
,计算有多少不同值:
SELECT DEPARTMENT_ID, substr(DEPARTMENT_NAME, 0, 15),
substr(NVL(CITY, 'Not Assigned Yet'), 0, 20) "City",
COUNT(DISTINCT JOB_ID) "# of Jobs"
FROM EMPLOYEES
LEFT OUTER JOIN DEPARTMENTS
USING(DEPARTMENT_ID)
LEFT OUTER JOIN LOCATIONS
USING(LOCATION_ID)
GROUP BY DEPARTMENT_ID, DEPARTMENT_NAME, CITY
而且您不需要 SELECT DISTINCT
- 只需 SELECT
。