programing

Oracle SQL 쿼리를 사용하여 그룹의 각 요소에 대한 시퀀스 번호 추가

javajsp 2023. 7. 28. 21:49

Oracle SQL 쿼리를 사용하여 그룹의 각 요소에 대한 시퀀스 번호 추가

다음 데이터가 포함된 Oracle 테이블이 있습니다.

ID          VALUE
10           A
10           B
10           C
20           A1
30           C1
30           D1

저는 ID 열을 기준으로 그룹을 만들고 각 그룹 내에서 시퀀스 번호가 있는 새 열을 인쇄하고 싶습니다.

출력은 다음과 같습니다.

ID          VALUE     GROUPSEQ
10           A           1
10           B           2
10           C           3
20           A1          1
30           C1          1
30           D1          2

임시 테이블을 만들지 않고 Oracle SQL 쿼리를 사용하여 이 작업을 수행할 수 있습니까?

ROW_NUMBER가 필요합니다.

SELECT ID, VALUE, row_number() OVER (PARTITION BY ID ORDER BY value) GROUPSEQ
FROM myTable

해보실 수 있습니다.

 SELECT ID, VALUE, ROW_NUMBER() OVER (PARTITION BY ID ORDER BY VALUE) "GROUPSEQ"
 FROM YOUR_TABLE;

당신을 위해 질문을 작성했습니다.당신의 문제가 해결되기를 바랍니다.

(SELECT t.*,
    ROW_NUMBER ()
    OVER (PARTITION BY t.id
          ORDER BY t.id)
       seq_no
  FROM test t);

체크 피들

언급URL : https://stackoverflow.com/questions/32334861/add-a-sequence-number-for-each-element-in-a-group-using-an-oracle-sql-query