1

我需要创建一个 SQL 查询来从名为JOBS.

但要这样做,我需要使用一个名为EMPLOYEES该表的表,该表具有该表的外键JOBS。条件是从表 JOBS 中返回 job_title,它的 job_id 在EMPLOYEES表中重复了更多次。

我需要用一条 SQL 语句来完成。

期望的输出:

Stock Clerk

这是我的查询

SELECT job_id  
FROM (SELECT job_id FROM employees GROUP BY job_id ORDER BY COUNT(*) desc)  
WHERE ROWNUM <= 1;

但还不够好,因为它job_title来自EMPLOYEES我所需要的。

你知道我该怎么做吗?我正在使用 Oracle 11g 数据库

这就是我的表格的样子:

雇员

雇员

工作

工作

4

1 回答 1

1
SELECT job_title from JOBS where JOB_ID = (
SELECT job_id FROM employees GROUP BY job_id ORDER BY COUNT(*) desc LIMIT 1)

如果您可以在 oracle 中使用 LIMIT 1,请不要立即记住,但如果不是那么

SELECT job_title from JOBS where JOB_ID = (
SELECT job_id FROM employees GROUP BY job_id ORDER BY COUNT(*) desc where ROWNUM=1)

另请注意,如果前 2 个以上的作业 id 相等,它只会打印其中一个(即如果 SA_REP 和 ST_CLERK 都出现 4 次,则只会显示其中一个)目前尚不清楚您对此的要求是什么,但是以上查询只会返回其中一个

于 2012-11-07T20:46:35.307 回答