Py学习  »  DATABASE

mysql“第二大部门员工名单”不按子查询

user3910197 • 5 年前 • 595 次点击  

我有一个场景需要列出第二大部门的所有员工。(1名员工仅属于一个部门)。 我可以使用以下子查询获得结果:

SELECT empno,ename,deptno 
FROM emp 
WHERE deptno = (
                 SELECT deptno 
                 FROM emp 
                 GROUP BY deptno 
                 ORDER BY COUNT(*) DESC LIMIT 1,1
               )

但是,如果我想使用连接得到相同的结果呢?我该怎么做?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30472
 
595 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Madhur Bhaiya
Reply   •   1 楼
Madhur Bhaiya    5 年前

在MySQL中,可以使用 JOIN 在一 Derived Table :

SELECT empno,ename,deptno
FROM emp AS t1 
JOIN (SELECT t2.deptno 
      FROM emp AS t2 
      GROUP BY t2.deptno 
      ORDER BY COUNT(*) DESC 
      LIMIT 1,1
     ) AS t3 ON t3.deptno = t1.deptno