GROUP BY와 NULL값 제거요!!ㅠㅠ 0 4 2,301

by 김대식 [SQL Query] GROUP BY NULL [2017.07.31 02:42:24]


의문.PNG (13,747Bytes)

1
2
3
SELECT deptno, job, SUM(sal) FROM test
GROUP BY deptno, job
ORDER BY 1

와 같은 문이 있을 때 사진과 같이 job와 SUM(sal)에  NULL 값이 반환됩니다!!
NULL값을 제거하기 위해 

1
2
3
4
5
SELECT deptno, job, SUM(sal) FROM test
WHERE sal IS NOT NULL
GROUP BY deptno, job
HAVING job IS NOT NULL
ORDER BY 1

이렇게 변경하였습니다.

그러나 느낌상 좋은 문장 같지 않습니다. 혹시 그 이유와 더 좋은 방법이 있을까요?ㅠㅠ

by 무지버기 [2017.07.31 08:14:54]
1
2
3
4
SELECT deptno, job, SUM(sal) FROM test
GROUP BY deptno, job
HAVING  job IS NOT NULL  AND  SUM(sal) IS NOT NULL
ORDER BY 1

 


by 김대식 [2017.07.31 20:34:48]

감사합니다!!


by 마농 [2017.07.31 08:39:08]
1
2
3
4
5
6
7
8
9
10
11
-- 변경전 : 집계한 후 걸러내기, Having
-- 변경후 : 걸러낸 후 집계하기, Where
SELECT deptno
     , job
     , SUM(sal)
  FROM test
 WHERE job IS NOT NULL
   AND sal IS NOT NULL
 GROUP BY deptno, job
 ORDER BY deptno, job
;

 


by 김대식 [2017.07.31 20:34:35]

감사합니다!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입