by 사랑초 [2014.03.06 09:00:51]
-- 사용하신 쿼리는 복잡성을 떠나서, 결과가 틀렸습니다. 롤업을 빼야 맞겠죠. -- 분석함수를 사용하시면 간단합니다. SELECT human , COUNT(*) cnt , TRUNC(AVG(COUNT(*)) OVER()) avg_cnt , DECODE(SIGN(COUNT(*) - TRUNC(AVG(COUNT(*)) OVER())), 1, '상', 0, '중'. -1, '하') grade FROM testing GROUP BY human ;