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

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


의문.PNG (13,747Bytes)

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

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

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]
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]
-- 변경전 : 집계한 후 걸러내기, 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() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입