1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | "아무 조건없이" 라는 말을 컴퓨터는 못알아 듯습니다. 확실하게 규칙을 정해서 알려줘야만 합니다. -- 가장큰이름 SELECT deptno , MAX (ename) ename FROM emp GROUP BY deptno ; -- 가장작은이름 SELECT deptno , MIN (ename) ename FROM emp GROUP BY deptno ; -- 급여가 가장 높은 직원 SELECT deptno , MIN (ename) KEEP(DENSE_RANK LAST ORDER BY sal) ename FROM emp GROUP BY deptno ; -- 입사가 가장 빠른 직원 SELECT deptno , MIN (ename) KEEP(DENSE_RANK FIRST ORDER BY hiredate) ename FROM emp GROUP BY deptno ; -- 렌덤하게 가져오기 SELECT deptno , MIN (ename) KEEP(DENSE_RANK FIRST ORDER BY dbms_random.value) ename FROM emp GROUP BY deptno ; -- 정렬기준에 따라 한건만 가져오기 SELECT * FROM ( SELECT e.* , ROW_NUMBER() OVER(PARTITION BY deptno ORDER BY 정렬기준) rn FROM emp e ) WHERE rn = 1 ; |