Step it up now

3명씩 줄 세우기 본문

수업/SQL

3명씩 줄 세우기

케잉 2023. 11. 26. 22:40

temp table

 


 

 

1. 번호 매겨서 줄 세우기

SELECT rownum rno, emp_name FROM temp;

 

결과

 

📢 여기서 1, 2, 3번이 모두 1 출력되게 해야한다 

왜냐면 3번까지의 이름은 모두 첫 줄에 출력돼야 하기 때문이다

 

 

 

2. 

 SELECT
           rno, ceil(rno/3) cno
   FROM  (
          SELECT rownum rno FROM temp   
          );

 

결과

 

📢 각 행 번호를 3으로 나눈 결과의 올림 값을 계산하는 쿼리

  • SELECT rownum rno FROM temp:  "temp" 테이블에서 행 번호 (rownum)를 선택하고 결과 열을 "rno"로 별칭함
  • SELECT rno, ceil(rno/3) cno FROM ~: 서브쿼리에서 얻은 행 번호("rno")를 선택하고 각 행 번호를 3으로 나눈 후 그 결과를 올림하여 "cno" 열에 저장

결과: "rno" 및 "cno" 두 열로 구성

 

 

 

3.

 SELECT
       rno, ceil(rno/3) cno, mod(rno,3) mno
   FROM  (
           SELECT rownum rno FROM temp   
         );

 

📢  서브쿼리: rownum으로 각 행에 대해 번호(rno)부여.

     바깥쪽 쿼리에서는 다음과 같은 세 가지 열을 선택합니다:

  • rno: 내부 쿼리에서 가져온 행 번호입니다.
  • cno: rno를 3으로 나눈 결과의 올림 값 →  각 행을 그룹화하여 세 개씩 묶는 것
  • mno: rno를 3으로 나눈 나머지 →   특정 행이 그룹 내에서 어느 위치에 속하는지를 알려줌

 

 

'수업 > SQL' 카테고리의 다른 글

procedure 사용하는 이유, 선언  (1) 2023.11.28
procedure 출력 확인  (0) 2023.11.27
ER-WIN/ DML  (0) 2023.11.26
순위 매기기 (rank, rownum)  (1) 2023.11.24
DECODE(A, B, X, Y), 정렬(오름차순 내림차순)/ 강의 시간 예제  (0) 2023.11.21