파티션 내에서 테이블의 행을 정렬하는 방법은 무엇입니까?

브루스 제플린

DB2를 사용하여 테이블을 가져 와서 파티션으로 분할 한 다음 각 파티션 내에서 행을 정렬합니다. 내가 가진 테이블은 다음과 같습니다.

ID        DATE                 EVENT
--        ----                 -----
01        1999-06-01           a
01        1999-06-01           b
01        2006-01-01           a
01        2011-12-31           c
02        1999-01-01           a
02        2003-01-01           a
02        2003-01-01           b            
02        2009-11-12           b  

다음을 얻기 위해 주문하고 싶은 곳 ...

ID        DATE                 EVENT        SEQUENCE
--        ----                 -----        --------
01        1999-06-01           a            1
01        1999-06-01           b            1
01        2006-01-01           a            2  
01        2011-12-31           c            3 
02        1999-01-01           a            1
02        2003-01-01           a            2 
02        2003-01-01           b            2
02        2009-11-12           b            3

그래서 노력하고 있습니다.

select a.*, row_number() over(partition by ID,order by DATE) from mytable a

나에게 준다 :

  ID        DATE                 EVENT        SEQUENCE
    --        ----                 -----        --------
    01        1999-06-01           a            1
    01        1999-06-01           b            2
    01        2006-01-01           a            3  
    01        2011-12-31           c            4 
    02        1999-01-01           a            1
    02        2003-01-01           a            2 
    02        2003-01-01           b            3
    02        2009-11-12           b            4

여기서 볼 수 있듯이 연속 행이 이전 행과 동일한 날짜를 가질 수 있지만 이는 무시되고 SEQUENCE 열이 반복됩니다.

다음 행에 동일한 날짜가있는 경우 이후 날짜가있는 행이 나타날 때까지 시퀀스가 ​​보존되도록하려면 어떻게해야합니까?

매우 감사합니다.

Mustaccio

분명히이 row_number()함수는 창 내의 다른 행에 대해 동일한 숫자를 반환하지 않습니다. dense_rank()기능 을 사용해야합니다 .

그런데 쿼리에 구문 오류가 있으며 열 이름에 예약어 (이 경우 'DATE')를 사용하는 것은 좋지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

/ dev / sda의 메모리 내 (커널) 파티션 테이블을 읽는 방법은 무엇입니까?

분류에서Dev

emmc 파티션에 대한 최적의 정렬을 달성하는 방법은 무엇입니까?

분류에서Dev

전체 테이블을 스캔하지 않고 DBT에서 Bigquery 테이블의 최신 파티션을 선택하는 방법은 무엇입니까?

분류에서Dev

Linux에서 GPT 전용 파티션 테이블을 구성하는 방법은 무엇입니까?

분류에서Dev

Linux에서 GPT 전용 파티션 테이블을 구성하는 방법은 무엇입니까?

분류에서Dev

MBR의 파티션 테이블에서 CHS 정보에 액세스하는 방법은 무엇입니까?

분류에서Dev

GNU / Linux에서 파티션을 이동하는 방법은 무엇입니까?

분류에서Dev

날짜로 파티션을 나눈 테이블의 현재 날짜에 대한 쿼리를 실행하는 방법은 무엇입니까?

분류에서Dev

MS-DOS에서 파티션 테이블을 지우는 방법은 무엇입니까?

분류에서Dev

SSAS 테이블 형식 1400 호환성에서 파티션을 만드는 방법은 무엇입니까?

분류에서Dev

Linux에서 파티션에 레이블을 지정하는 방법은 무엇입니까?

분류에서Dev

Linux Mint의 NTFS 파티션에서 전역 실행 권한을 제거하는 방법은 무엇입니까?

분류에서Dev

Linux에서 DOS 파티션 테이블을 읽고 루프백에서 파티션 장치를 만드는 방법은 무엇입니까?

분류에서Dev

pyspark의 RDD에서 각 파티션의 내용을 보는 방법은 무엇입니까?

분류에서Dev

내비게이션 바에서 잘못된 로고 정렬을 수정하는 방법은 무엇입니까?

분류에서Dev

엔티티 정의에 ProyectosHasCentros 테이블을 삽입하는 방법은 무엇입니까?

분류에서Dev

OS X에서 기본적으로 부팅 할 파티션을 정의하는 방법은 무엇입니까?

분류에서Dev

JavaScript에서 모든 테이블 행의 선택된 옵션 값을 얻는 방법은 무엇입니까?

분류에서Dev

데이터 테이블에서 사용자 지정 정렬을 수행하는 방법은 무엇입니까?

분류에서Dev

GridView의 광고 섹션에 테이블 행을 추가하는 방법은 무엇입니까?

분류에서Dev

Linux에서 파티션 대신 블록 범위를 지정하여 파티션을 마운트하는 방법은 무엇입니까?

분류에서Dev

파티션 장치 이름에서 블록 장치 이름을 얻는 방법은 무엇입니까?

분류에서Dev

동일한 파티션 테이블이없는 다른 드라이브에 복제 할 때 시스템의 파티션 테이블을 편집하는 방법은 무엇입니까?

분류에서Dev

DataTables 테이블에서 <td> 내부에 2 개의 행을 중첩하는 방법은 무엇입니까?

분류에서Dev

Azure Table Storage 테이블 파티션에서 스트레스 테스트를 실행하는 방법은 무엇입니까?

분류에서Dev

Azure Table Storage 테이블 파티션에서 스트레스 테스트를 실행하는 방법은 무엇입니까?

분류에서Dev

Windows의 숨겨진 파일없이 Ubuntu에서 NTFS 파티션을 여는 방법은 무엇입니까?

분류에서Dev

Windows의 숨겨진 파일없이 Ubuntu에서 NTFS 파티션을 여는 방법은 무엇입니까?

분류에서Dev

Windows의 숨겨진 파일없이 Ubuntu에서 NTFS 파티션을 여는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    / dev / sda의 메모리 내 (커널) 파티션 테이블을 읽는 방법은 무엇입니까?

  2. 2

    emmc 파티션에 대한 최적의 정렬을 달성하는 방법은 무엇입니까?

  3. 3

    전체 테이블을 스캔하지 않고 DBT에서 Bigquery 테이블의 최신 파티션을 선택하는 방법은 무엇입니까?

  4. 4

    Linux에서 GPT 전용 파티션 테이블을 구성하는 방법은 무엇입니까?

  5. 5

    Linux에서 GPT 전용 파티션 테이블을 구성하는 방법은 무엇입니까?

  6. 6

    MBR의 파티션 테이블에서 CHS 정보에 액세스하는 방법은 무엇입니까?

  7. 7

    GNU / Linux에서 파티션을 이동하는 방법은 무엇입니까?

  8. 8

    날짜로 파티션을 나눈 테이블의 현재 날짜에 대한 쿼리를 실행하는 방법은 무엇입니까?

  9. 9

    MS-DOS에서 파티션 테이블을 지우는 방법은 무엇입니까?

  10. 10

    SSAS 테이블 형식 1400 호환성에서 파티션을 만드는 방법은 무엇입니까?

  11. 11

    Linux에서 파티션에 레이블을 지정하는 방법은 무엇입니까?

  12. 12

    Linux Mint의 NTFS 파티션에서 전역 실행 권한을 제거하는 방법은 무엇입니까?

  13. 13

    Linux에서 DOS 파티션 테이블을 읽고 루프백에서 파티션 장치를 만드는 방법은 무엇입니까?

  14. 14

    pyspark의 RDD에서 각 파티션의 내용을 보는 방법은 무엇입니까?

  15. 15

    내비게이션 바에서 잘못된 로고 정렬을 수정하는 방법은 무엇입니까?

  16. 16

    엔티티 정의에 ProyectosHasCentros 테이블을 삽입하는 방법은 무엇입니까?

  17. 17

    OS X에서 기본적으로 부팅 할 파티션을 정의하는 방법은 무엇입니까?

  18. 18

    JavaScript에서 모든 테이블 행의 선택된 옵션 값을 얻는 방법은 무엇입니까?

  19. 19

    데이터 테이블에서 사용자 지정 정렬을 수행하는 방법은 무엇입니까?

  20. 20

    GridView의 광고 섹션에 테이블 행을 추가하는 방법은 무엇입니까?

  21. 21

    Linux에서 파티션 대신 블록 범위를 지정하여 파티션을 마운트하는 방법은 무엇입니까?

  22. 22

    파티션 장치 이름에서 블록 장치 이름을 얻는 방법은 무엇입니까?

  23. 23

    동일한 파티션 테이블이없는 다른 드라이브에 복제 할 때 시스템의 파티션 테이블을 편집하는 방법은 무엇입니까?

  24. 24

    DataTables 테이블에서 <td> 내부에 2 개의 행을 중첩하는 방법은 무엇입니까?

  25. 25

    Azure Table Storage 테이블 파티션에서 스트레스 테스트를 실행하는 방법은 무엇입니까?

  26. 26

    Azure Table Storage 테이블 파티션에서 스트레스 테스트를 실행하는 방법은 무엇입니까?

  27. 27

    Windows의 숨겨진 파일없이 Ubuntu에서 NTFS 파티션을 여는 방법은 무엇입니까?

  28. 28

    Windows의 숨겨진 파일없이 Ubuntu에서 NTFS 파티션을 여는 방법은 무엇입니까?

  29. 29

    Windows의 숨겨진 파일없이 Ubuntu에서 NTFS 파티션을 여는 방법은 무엇입니까?

뜨겁다태그

보관