Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 带计数的子选择,SQL查询_Mysql_Sql - Fatal编程技术网

Mysql 带计数的子选择,SQL查询

Mysql 带计数的子选择,SQL查询,mysql,sql,Mysql,Sql,您好,我需要选择empno和该部门所有女性员工的工资,这些女性员工至少有两名男性,工资与女性相同 这是桌子 EMP: empno|ename|deptno|sal|gender DEPT: deptno|dname 这是我的代码,出于某种原因,这不会给出所需的结果 SELECT * FROM EMP E WHERE E.GENDER = 'F' AND 2 <= (SELECT COUNT(*) FROM EMP E2

您好,我需要选择empno和该部门所有女性员工的工资,这些女性员工至少有两名男性,工资与女性相同

这是桌子

EMP:
empno|ename|deptno|sal|gender   
DEPT:
deptno|dname
这是我的代码,出于某种原因,这不会给出所需的结果

SELECT *
FROM EMP E
WHERE E.GENDER = 'F' AND 2 <= (SELECT COUNT(*)
                               FROM EMP E2
                               WHERE E2.GENDER = 'M' AND
                               E2.SAL = E.SAL
                               AND E.DEPTNO = E2.DEPTNO);
选择*
来自EMP E
其中E.GENDER='F'和2

有几种方法可以做到这一点。这里有一个使用
存在的选项

select empno, sal
from emp e
where gender = 'F'
and exists (
  select 1
  from emp e2 
  where e2.gender = 'M' 
    and e.sal = e2.sal and e.deptno = e2.deptno
  having count(*) > 1)
select empno, sal
from emp e
where gender = 'F'
and exists (
  select 1
  from emp e2 
  where e2.gender = 'M' 
    and e.sal = e2.sal and e.deptno = e2.deptno
  having count(*) > 1)