我这样的表
A B
7499 300
7521 400
7654 500
7698 0
7844 200
7900 0
我正在尝试这样
select deptno,count(1) ,min(comm)from emp
where deptno=30
group by deptno
我正在获得输出
count min(B)
6 0
但我需要
count min(B)
6 200
,不使用b> 0概念
答案 0 :(得分:2)
您可以使用CASE
这样过滤掉comm > 0
select deptno,count(1) ,min(CASE WHEN comm > 0 THEN comm ELSE NULL END)
from emp
where deptno=30
group by deptno
答案 1 :(得分:0)
假设您期望ISNT 0
的最低值,那么只需将其添加到where子句中
SELECT deptno, count(*), MIN(comm)
FROM emp
WHERE deptno = 30
AND MIN(comm) != 0
GROUP BY deptno