이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다4rowRowRowRow2 ~ 토토 핫 ~ Row6 ~ Row5 ~ Row9 ~ row5 ~ row9 ~ 토토 핫 ~ row6 ~ row8_RowRowRowRowRow2 ~ 토토 핫 ~ Row6 ~ Row5 ~ Row9 ~ row5 ~ row9 ~ 토토 핫 ~ Row6 ~ 토토 핫57버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

F.33. 탁자

tablefunc모듈 포함 테이블을 반환하는 다양한 기능 (즉, 여러 행). 이러한 기능은 그 자체로 그리고 다중 반환 된 C 함수를 작성하는 방법의 예 줄.

F.33.1. 제공된 기능

표 F-31.TableFunc기능

기능 반환 설명
normal_rand (int numvals, float8 평균, float8 stddev) setof float8 정규 분포 무작위 세트를 생성합니다 값
crosstab (사설 토토 사이트 SQL) 기록 설정 생산"피벗 테이블"행 이름 포함n값 열, 여기서nrowtype에 의해 결정됩니다 호출 쿼리에 지정
Crosstabn(사설 토토 사이트 SQL) setof table_crosstab_n 생산"피벗 테이블"행 이름 포함n값 열.Crosstab2, Crosstab3Crosstab4사전 정의되었지만 가능합니다 추가 생성Crosstabn설명 된 기능 아래에
Crosstab (Text Source_sql, 사설 토토 사이트 카테고리 _sql) Setof Record 생산"피벗 테이블"두 번째 쿼리에 의해 지정된 값 열
Crosstab (Text SQL, int N) Setof Record

쓸모없는 버전Crosstab (사설 토토 사이트). 매개 변수n이제 무시되었습니다. 값 열의 수는 항상입니다 호출 쿼리에 의해 결정

Connectby (사설 토토 사이트 relname, 사설 토토 사이트 keyid_fld, 사설 토토 사이트 parent_keyid_fld [, text orderby_fld], Text start_with, int max_depth [, text branch_delim ]) Setof Record 계층 적 트리의 표현을 생성합니다 구조

F.33.1.1.normal_rand

normal_rand (int numvals, float8 평균, float8 stddev) setof float8을 반환합니다.

normal_rand세트를 생성합니다 정규 분포 임의 값 (가우시안 분포).

numvals는 값 수입니다 함수에서 반환 될 예정입니다.평균는 정규 분포의 평균입니다 가치와stddev입니다 값의 정규 분포의 표준 편차.

예를 들어이 호출은 평균으로 1000 값을 요청합니다. 5 및 표준 편차 3 :

test =# select * from normal_rand (1000, 5, 3);
     normal_rand
------------------------
     1.56556322244898
     9.10040991424657
     5.36957140345079
   -0.369151492880995
    0.283600703686639
       .
       .
       .
     4.82992125404908
     9.71308014517282
     2.49639286969028
(1000 줄)

F.33.1.2.Crosstab (사설 토토 사이트)

Crosstab (Text SQL)
crosstab (사설 토토 사이트 SQL, int n)

theCrosstab함수는입니다 생산에 사용"피벗"디스플레이, 여기서 데이터는 다운이 아닌 페이지에 나열됩니다. 을 위한 예를 들어, 우리는와 같은 데이터가있을 수 있습니다.

ROW1 VAL11
ROW1 VAL12
ROW1 VAL13
...
ROW2 VAL21
ROW2 VAL22
ROW2 VAL23
...

우리가 표시하고 싶은

ROW1 VAL11 VAL12 VAL13 ...
ROW2 VAL21 VAL22 VAL23 ...
...

theCrosstab함수 가져옵니다 원시 데이터를 생성하는 SQL 쿼리 인 사설 토토 사이트 매개 변수 첫 번째 방식으로 서식을 작성하고 형식화 된 테이블을 생성합니다. 두 번째 방법.

theSQL매개 변수는 SQL입니다 소스 데이터 세트를 생성하는 명령문. 이것 진술은 하나를 반환해야합니다row_name열, 하나카테고리열, 1value열.n는 쓸모없는 매개 변수입니다 출력 값 열의 수와 일치해야했지만 이제는 호출 쿼리에 의해 결정됩니다).

예를 들어, 제공된 쿼리는 세트를 생성 할 수 있습니다 다음과 같은 것 :

ROW_NAME CAT 값
----------+-------+-------
  ROW1 CAT1 VAL1
  ROW1 CAT2 VAL2
  ROW1 CAT3 VAL3
  ROW1 CAT4 VAL4
  ROW2 CAT1 VAL5
  ROW2 CAT2 VAL6
  ROW2 CAT3 VAL7
  Row2 CAT4 VAL8

Crosstab함수는입니다 반환으로 선언Setof Record출력 열의 실제 이름과 유형을 정의해야합니다. 에서From호출 조항select명령문, 예 :

선택 *에서 Crosstab ( '...')에서 CT (row_name 사설 토토 사이트, 카테고리 _1 사설 토토 사이트, Category_2 Text);로 선택하십시오.

이 예제는 다음과 같은 세트를 생성합니다.

<== 값 열 ==
row_name 카테고리 _1 카테고리 _2
 ---------+-----------+------------
   ROW1 VAL1 VAL2
   Row2 Val5 Val6

theFrom절을 정의해야합니다 하나로 출력row_name열 (SQL의 첫 번째 결과 열과 동일한 데이터 유형 중 쿼리) 다음 Nvalue열 (세 번째 결과 열과 동일한 데이터 유형의 모든 것 SQL 쿼리). 많은 출력 값을 설정할 수 있습니다 원하는대로 열. 출력 열의 이름이 상승했습니다 당신에게.

theCrosstab함수 연속 입력 그룹마다 하나의 출력 행을 생성합니다. 같은 행row_name값. 출력을 채 웁니다value열, 왼쪽에서 오른쪽으로value이 행의 필드. 있다면 출력보다 그룹의 행이 적습니다value열, 추가 출력 열 널로 채워져 있습니다. 더 많은 행이 있다면 추가 입력 행이 건너 뜁니다.

실제로 SQL 쿼리는 항상 지정해야합니다17999_18013입력 행이 있는지 확인합니다 적절하게 주문, 즉 동일한 값row_name함께 모여 있습니다 행 내에서 올바르게 주문했습니다. 주석Crosstab그 자체는주의를 기울이지 않습니다 쿼리 결과의 두 번째 열에; 그것은 단지 거기에 있습니다 세 번째 열이있는 순서를 통제하기 위해 값은 페이지에 나타납니다.

여기에 완전한 예가 있습니다 :

테이블 CT 작성 (ID Serial, Rowid 사설 토토 사이트, 속성 사설 토토 사이트, 값 사설 토토 사이트);
CT (rowid, 속성, 값) 값 ( 'test1', 'att1', 'val1')에 삽입;
CT (rowid, 속성, 값) 값 ( 'test1', 'att2', 'val2')에 삽입;
CT (rowid, 속성, 값) 값 ( 'test1', 'att3', 'val3')에 삽입;
CT (rowid, 속성, 값) 값 ( 'test1', 'att4', 'val4')에 삽입;
CT (rowid, 속성, 값) 값 ( 'test2', 'att1', 'val5')에 삽입;
CT (rowid, 속성, 값) 값 ( 'test2', 'att2', 'val6')에 삽입;
CT (rowid, 속성, 값) 값 ( 'test2', 'att3', 'val7')에 삽입;
CT (rowid, 속성, 값) 값 ( 'test2', 'att4', 'val8')에 삽입;

선택하다 *
Crosstab에서 (
  'Rowid, 속성, 값을 선택하십시오
   CT에서
   여기서 속성 = ''att2 ''또는 attribute = ''att3 ''
   1,2 '로 주문
CT (row_name 사설 토토 사이트, 카테고리 _1 사설 토토 사이트, 카테고리_2 사설 토토 사이트, Category_3 사설 토토 사이트);

 row_name | 카테고리 _1 | 카테고리 _2 | 카테고리 _3
-----------+------------+------------+------------
 test1 | Val2 | val3 |
 test2 | Val6 | val7 |
(2 줄)

당신은 항상 a를 쓰지 않아도됩니다.From출력 열을 정의하려는 조항 원하는 CrosStab 함수 설정 출력 행 유형은 정의에 연결되었습니다. 이것은 설명됩니다 다음 섹션에서. 또 다른 가능성은 필수의From관점에서 조항 정의.

F.33.1.3.Crosstabn(사설 토토 사이트)

Crosstabn(사설 토토 사이트 SQL)

theCrosstabn함수는 방법의 예입니다 일반을위한 사용자 정의 포장지 설정Crosstab기능을 수행하지 않도록 기능 호출에 열 이름과 유형을 쓰기select쿼리. 그만큼탁자모듈 포함Crosstab2, Crosstab3Crosstab4정의

유형 생성 tablefunc_crosstab_n as (
    row_name 사설 토토 사이트,
    카테고리 _1 사설 토토 사이트,
    카테고리 _2 사설 토토 사이트,
        .
        .
        .
    카테고리_n 사설 토토 사이트
);

따라서 이러한 함수는 입력 할 때 직접 사용할 수 있습니다. 쿼리 생산row_namevalue유형의 열사설 토토 사이트, 그리고 2, 3 또는 4 개의 출력 값을 원합니다. 열. 다른 모든면에서 그들은 설명대로 정확하게 행동합니다 장군을 위해 위Crosstab기능.

예를 들어, 이전 섹션에 제공된 예입니다 또한로 작동합니다.

선택 *
Crosstab3에서 (
  'Rowid, 속성, 값을 선택하십시오
   CT에서
   여기서 속성 = ''att2 ''또는 attribute = ''att3 ''
   주문 1,2 ');

이 기능은 주로 예시를 위해 제공됩니다 목적. 자신만의 반환 유형 및 기능을 만들 수 있습니다 기본에 따라crosstab ()함수. 두 가지 방법이 있습니다 그렇게하십시오 :

  • 원하는 출력을 설명하는 복합 유형을 만듭니다 설치의 예와 유사한 열 스크립트. 그런 다음 고유 한 기능 이름을 정의하여 하나를 수락합니다사설 토토 사이트매개 변수 및 반환setof your_type_name그러나 링크 같은 기본에CrosstabC 함수. 예를 들어, if 소스 데이터는의 행 이름을 생성합니다.사설 토토 사이트및 값float8, 그리고 당신은 5 개의 값 열을 원합니다 :

    생성 유형 my_crosstab_float8_5_cols as (
              my_row_name 사설 토토 사이트,
              my_category_1 float8,
              my_category_2 float8,
              my_category_3 float8,
              my_category_4 float8,
              my_category_5 float8
          );
    
          기능 작성 또는 교체 Crosstab_float8_5_cols (사설 토토 사이트)
            my_crosstab_float8_5_cols를 반환합니다
            '$ libdir/tablefunc', 'Crosstab'Language C 안정적인 엄격;
  • useout정의 할 매개 변수 반환 유형은 암시 적으로. 같은 예도 할 수도 있습니다 이런 식으로 끝나십시오 :

    함수 생성 또는 교체 Crosstab_float8_5_cols (사설 토토 사이트로,
              my_row_name 사설 토토 사이트를 끄고
              out my_category_1 float8,
              out my_category_2 float8,
              out my_category_3 float8,
              out my_category_4 float8,
              out my_category_5 float8)
            Setof 레코드를 반환합니다
            '$ libdir/tablefunc', 'Crosstab'Language C 안정적인 엄격;

F.33.1.4.crosstab (사설 토토 사이트, 사설 토토 사이트)

crosstab (사설 토토 사이트 source_sql, text category_sql)

단일 파라미터 형태의 주요 제한Crosstab는 모든 것을 취급한다는 것입니다 그룹의 값은 각 값을 첫 번째 값에 삽입합니다. 사용 가능한 열. 값 열이 해당하는 경우 특정 카테고리의 데이터에 대해, 일부 그룹은 일부 카테고리에 대한 데이터가 있으므로 잘 작동하지 않습니다. 2 파라미터 형태의Crosstab이 케이스를 제공하여 처리합니다 출력에 해당하는 범주의 명시 적 목록 열.

source_sql는 SQL 문입니다 이는 소스 데이터 세트를 생성합니다. 이 진술은해야합니다 반환row_name열, 하나카테고리열, 1value열. 또한 가질 수도 있습니다 하나 이상의"추가"열. 그만큼row_name열이 먼저 있어야합니다. 그만큼카테고리value열은 마지막 두 개 여야합니다 그 순서대로 열. 사이의 모든 열row_name카테고리"추가". 그만큼"추가"열은 동일 할 것으로 예상됩니다 동일 한 모든 행의 경우row_namevalue.

예를 들어source_sql다음과 같은 세트 생산 :

select row_name, extr.

     row_name extra_col cat 값
    ----------+------------+-----+-------
      ROW1 Extra1 CAT1 VAL1
      ROW1 Extra1 CAT2 VAL2
      ROW1 Extra1 CAT4 VAL4
      ROW2 Extra2 CAT1 VAL5
      Row2 Extra2 CAT2 VAL6
      ROW2 Extra2 CAT3 VAL7
      Row2 Extra2 CAT4 VAL8

Category_SQL는 SQL 문입니다 카테고리 세트를 생성합니다. 이 진술은해야합니다 하나의 열만 리턴합니다. 적어도 하나의 행을 생산해야합니다 오류가 생성됩니다. 또한 생산해서는 안됩니다 중복 값 또는 오류가 생성됩니다.Category_SQL

foo 주문에서 1 씩 고유 한 고양이를 선택하십시오.
    고양이
  -------
    CAT1
    cat2
    cat3
    CAT4

theCrosstab함수는입니다 반환으로 선언Setof Record출력 열의 실제 이름과 유형을 정의해야합니다. 에서From호출 조항select진술, 예 :

선택 * From Crosstab ( '...', '...')
      CT (row_name 사설 토토 사이트, 추가 사설 토토 사이트, CAT1 사설 토토 사이트, CAT2 사설 토토 사이트, CAT3 사설 토토 사이트, CAT4 사설 토토 사이트);로

이것은 다음과 같은 결과를 낳습니다.

<== 값 열 ==
           Row_name 추가 Cat1 Cat2 Cat3 Cat4
           ---------+-------+------+------+------+------
             ROW1 Extra1 VAL1 VAL2 VAL4
             Row2 Extra2 VAL5 VAL6 VAL7 VAL8

theFrom절을 정의해야합니다 적절한 데이터 유형의 적절한 수의 출력 열. 만약에n열의 열source_sqlQuery의 결과, the 첫 번째n-2 중 일치해야합니다 첫 번째n-2 출력 열. 나머지 출력 열에는 유형이 있어야합니다 의 마지막 열source_sqlQuery의 결과, 그리고 그중만큼 많은 것과 정확히 많은 것이 있어야합니다. 에 행이 있습니다.Category_SQL쿼리 결과.

theCrosstab함수 연속 입력 그룹마다 하나의 출력 행을 생성합니다. 같은 행row_name값. 출력row_name컬럼과 모든"추가"열, 그룹의 첫 번째 행에서 복사됩니다. 출력value열이 채워져 있습니다 그만큼value행에서 필드 일치하는카테고리값. 행 인 경우카테고리그렇지 않습니다 의 모든 출력과 일치Category_SQL쿼리, ITSvalue무시됩니다. 출력 열 일치하는 범주는 그룹은 널로 채워져 있습니다.

실제로source_sql쿼리는 항상 지정해야합니다주문 by 1동일 한 값을 확인하려면row_name함께 모입니다. 하지만, 그룹 내에서 카테고리를 주문하는 것은 중요하지 않습니다. 또한의 순서가 확실합니다.Category_SQL쿼리 출력 지정된 출력 열 순서와 일치합니다.

다음은 다음과 같은 두 가지 예입니다.

테이블 판매 생성 (Year Int, Month Int, Qty int);
판매 값에 삽입 (2007, 1, 1000);
판매 가치에 삽입 (2007, 2, 1500);
판매 값에 삽입 (2007, 7, 500);
판매 가치에 삽입 (2007, 11, 1500);
판매 값에 삽입 (2007, 12, 2000);
판매 값에 삽입 (2008, 1, 1000);

Crosstab에서 *를 선택하십시오 (
  '선택 연도, 월, 영업 주문에서 1 ~ 1', 1 ',
  'generate_series (1,12) m에서 m을 선택하십시오'
) 처럼 (
  int,
  "Jan"int,
  "Feb"int,
  "mar"int,
  "apr"int,
  "5 월"int,
  "Jun"int,
  "7 월"int,
  "8 월"int,
  "Sep"int,
  "OCT"int,
  "11 월"int,
  "12 월"int
);
 해 | Jan | 2 월 | 3 월 | 4 월 | 5 월 | 6 월 | 7 월 | 8 월 | 9 월 | 10 월 | 11 월 | 12 월
------+------+------+-----+-----+-----+-----+-----+-----+-----+------+-------
 2007 | 1000 | 1500 |     |     |     |     | 500 |     |     |     | 1500 | 2000
 2008 | 1000 |      |     |     |     |     |     |     |     |     |      |
(2 줄)
테이블 CTH 작성 (RowId Text, Rowdt Timestamp, 속성 사설 토토 사이트, val 사설 토토 사이트);
CTH 값에 삽입 ( 'test1', '01 2003 년 3 월 1 일', '온도', '42');
CTH 값에 삽입 ( 'test1', '01 2003 년 3 월 1 일', 'test_result', 'pass');
CTH 값에 삽입 ( 'test1', '01 2003 년 3 월 1 일', '볼트', '2.6987');
CTH 값에 삽입 ( 'test2', '02 2003 년 3 월 2 일', '온도', '53');
CTH 값에 삽입 ( 'test2', '2003 년 3 월 2 일', 'test_result', 'fail');
CTH 값에 삽입 ( 'test2', '02 2003 년 3 월 2 일', 'test_startDate', '01 2003 년 3 월 1 일');
Cth 값에 삽입 ( 'test2', '02 2003 년 3 월 2 일', '볼트', '3.1234');

Crosstab에서 *를 선택하십시오
(
  'select rowid, rowdt, attribute, val wrom cth order x 1',
  'Cth Order에서 1 x 1 씩 고유 한 속성을 선택하십시오'
))
처럼
(
       rowid 사설 토토 사이트,
       Rowdt 타임 스탬프,
       온도 int4,
       test_result 사설 토토 사이트,
       test_startdate timestamp,
       볼트 플로트 8
);
 Rowid |          Rowdt | 온도 | test_result |      test_startdate | 볼트
-------+--------------------------------------------------------------------------------------------------
 test1 | 2003 년 3 월 1 일 00:00:00 |          42 | 패스 |                          | 2.6987
 test2 | 2003 년 3 월 02 일 00:00:00 |          53 | 실패 | 2003 년 3 월 1 일 00:00:00 | 3.1234
(2 줄)

당신은 피할 필요가 없도록 사전 정의 된 함수를 만들 수 있습니다 각 쿼리에서 결과 열 이름과 유형을 기록하십시오. 이전 섹션의 예를 참조하십시오. 근본적인 c 이 형태의 기능Crosstab이름이Crosstab_hash.

F.33.1.5.Connectby

Connectby (사설 토토 사이트 relname, 사설 토토 사이트 keyid_fld, text parent_keyid_fld
          [, text orderby_fld], text start_with, int max_depth
          [, text branch_delim])

theConnectby함수 에 저장된 계층 적 데이터의 표시를 생성합니다. 테이블. 테이블에는 독특한 핵심 필드가 있어야합니다 행을 참조하는 줄과 부모 키 필드를 식별합니다 각 행의 부모 (있는 경우).Connectby하위 트리를 표시 할 수 있습니다 어떤 줄에서 내림차순.

표 F-32.Connectby매개 변수

매개 변수 설명
Relname 소스 관계의 이름
keyid_fld 키 필드의 이름
parent_keyid_fld 부모 키 필드의 이름
Orderby_fld 형제 자매를 주문할 필드 이름 (선택 과목)
start_with 시작할 행의 키 값
max_depth 최대 깊이로 내려 오거나 0에 대해 0. 무제한 깊이
BRANCE_DELIM 지점 출력으로 키를 분리하려면 문자열 (선택 과목)

키 및 부모 키 필드는 데이터 유형 일 수 있지만 그들은 같은 유형이어야합니다.start_with값은 사설 토토 사이트로 입력해야합니다 키 필드의 유형에 관계없이 문자열.

theConnectby함수는입니다 반환으로 선언Setof Record출력 열의 실제 이름과 유형을 정의해야합니다. 에서From호출 조항select진술, 예 :

선택 * From Connectby ( 'Connectby_tree', 'keyid', 'parent_keyid', 'pos', 'row2', 0, '~'))))
      as t (keyid text, parent_keyid 사설 토토 사이트, 레벨 int, 분기 사설 토토 사이트, pos int);

처음 두 출력 열은 현재에 사용됩니다. Row의 열쇠와 부모 Row의 열쇠; 그들은 유형과 일치해야합니다 테이블의 키 필드의. 세 번째 출력 열은입니다 나무의 깊이와 유형이어야합니다Integer. aBRANCE_DELIM매개 변수가 제공되었습니다 출력 열은 분기 디스플레이이며 유형이어야합니다사설 토토 사이트. 마지막으로,Orderby_fld매개 변수가 마지막으로 제공되었습니다 출력 열은 일련 번호이며 유형이어야합니다Integer.

the"Branch"출력 열 현재 행에 도달하기 위해 촬영 한 키의 경로를 보여줍니다. 그만큼 키는 지정된에 의해 구분됩니다BRANCE_DELIM문자열. 지점 디스플레이가없는 경우 원한다, 둘 다 생략BRANCE_DELIM출력 열의 매개 변수 및 분기 열 목록.

같은 부모의 형제 자매의 질서가 중요, 포함Orderby_fld파라미터를 주문할 필드를 지정하는 매개 변수. 이것 필드는 정렬 가능한 데이터 유형 일 수 있습니다. 출력 열 목록에는 최종 정수 직렬 번호 열이 포함되어야합니다 그리고 만Orderby_fldIS 지정.

테이블 및 필드 이름을 나타내는 매개 변수는 다음과 같습니다 AS-는 SQL 쿼리에 as-Connectby내부적으로 생성됩니다. 그러므로, 이름이 혼합 사례이거나 포함 된 경우 이중 인용문 포함 특수 문자. 스키마 자격을 갖추어야 할 수도 있습니다 테이블 이름.

큰 테이블에서는 성능이 좋지 않을 것입니다. 부모 키 필드의 색인

BRANCE_DELIM문자열은 어떤 키에 나타나지 않습니다 값, elseConnectby5 월 무한 재검토 오류를 잘못보고합니다. ifBRANCE_DELIM제공되지 않습니다 기본값~재귀 탐지 목적.

여기 예입니다.

테이블 작성 Connectby_tree (keyid 사설 토토 사이트, parent_keyid 사설 토토 사이트, pos int);

Connectby_tree 값에 삽입 ( 'Row1', Null, 0);
Connectby_tree 값에 삽입 ( 'Row2', 'Row1', 0);
Connectby_tree 값에 삽입 ( 'Row3', 'Row1', 0);
Connectby_tree 값에 삽입 ( 'Row4', 'Row2', 1);
Connectby_tree 값에 삽입 ( 'Row5', 'Row2', 0);
Connectby_tree 값에 삽입 ( 'Row6', 'Row4', 0);
Connectby_tree 값에 삽입 ( 'Row7', 'Row3', 0);
Connectby_tree 값에 삽입 ( 'Row8', 'Row6', 0);
Connectby_tree 값에 삽입 ( 'Row9', 'Row5', 0);

- Orderby_fld가없는 분기 (결과 순서는 보장되지 않음)
선택 *에서 Connectby ( 'Connectby_tree', 'keyid', 'parent_keyid', 'row2', 0, '~')를 선택하십시오.
 t (keyid text, parent_keyid 사설 토토 사이트, 레벨 int, branch 사설 토토 사이트);
 keyid | parent_keyid | 레벨 |       나뭇가지
-------+---------------+-------+--------------------
 Row2 |              |     0 | Row2
 Row4 | Row2 |     1 | Row2 ~ Row4
 Row6 | Row4 |     2 | Row2 ~ Row4 ~ Row6
 Row8 | Row6 |     3 | row2 ~ row4 ~ row6 ~ row8
 Row5 | Row2 |     1 | Row2 ~ Row5
 Row9 | Row5 |     2 | Row2 ~ row5 ~ row9
(6 줄)

- 분기 없음, Orderby_fld없이 (결과 순서는 보장되지 않습니다)
선택 *에서 Connectby ( 'Connectby_tree', 'keyid', 'parent_keyid', 'row2', 0)
 t (keyid text, parent_keyid 사설 토토 사이트, 레벨 int);
 keyid | parent_keyid | 수준
-------+-------------+-------
 Row2 |              |     0
 Row4 | Row2 |     1
 Row6 | Row4 |     2
 Row8 | Row6 |     3
 Row5 | Row2 |     1
 Row9 | Row5 |     2
(6 줄)

- Orderby_fld와 함께 Branch (Row5가 Row4 앞에 오는 것을 주목하십시오)
Connectby에서 *를 선택하십시오 ( 'Connectby_tree', 'keyid', 'parent_keyid', 'pos', 'row2', 0, '~'))
 t (keyid text, parent_keyid 사설 토토 사이트, 레벨 int, 분기 사설 토토 사이트, pos int);
 keyid | parent_keyid | 레벨 |       지점 | POS
-------+-----------------------------------------------------
 Row2 |              |     0 | Row2 |   1
 Row5 | Row2 |     1 | Row2 ~ Row5 |   2
 Row9 | Row5 |     2 | Row2 ~ Row5 ~ Row9 |   3
 Row4 | Row2 |     1 | Row2 ~ Row4 |   4
 Row6 | Row4 |     2 | Row2 ~ Row4 ~ Row6 |   5
 Row8 | Row6 |     3 | row2 ~ row4 ~ row6 ~ row8 |   6
(6 줄)

- 지점없이, Orderby_fld (Row5가 Row4 전에 오는 것을 주목)
선택 *에서 Connectby ( 'Connectby_tree', 'keyid', 'parent_keyid', 'pos', 'row2', 0)
 t (keyid text, parent_keyid 사설 토토 사이트, 레벨 int, pos int);
 keyid | parent_keyid | 레벨 | POS
-------+-------------+-------+-----
 Row2 |              |     0 |   1
 Row5 | Row2 |     1 |   2
 Row9 | Row5 |     2 |   3
 Row4 | Row2 |     1 |   4
 Row6 | Row4 |     2 |   5
 Row8 | Row6 |     3 |   6
(6 줄)

F.33.2. 작가

Joe Conway