이 여기에 게시 더 복잡 하나에 대한 간단한 질문은 (RowIndex, ColumnIndex, MatrixValue) :재귀 SQL 문 (PostgreSQL을) 단순화 된 버전
ColumnIndex
1 2 3 4 5
1 2 2 3 3 4
2 4 4 5 6 X
3 3 2 2 X X
4 2 1 X X X
5 1 X X X X
X alues는 다음과 같은 알고리즘을 사용하여 계산되어야한다 :
M[i,j] = (M[i-1,j]+M[i,j-1])/2
(i= rows, j = columns, M=matrix)
Example:
M[3,4] = (M[2,4]+M[3,3])/2
M[3,5] = (m[2,5]+M[3,4])/2
전체 필요한 결과는 다음과 같습니다
ColumnIndex
1 2 3 4 5
1 2 2 3 3 4
2 4 4 5 6 5
3 3 2 2 4 4.5
4 2 1 1.5 2.75 3.625
5 1 1 1.25 2.00 2.8125
샘플 데이터 : 이것은
create table matrix_data (
RowIndex integer,
ColumnIndex integer,
MatrixValue numeric);
insert into matrix_data values (1,1,2);
insert into matrix_data values (1,2,2);
insert into matrix_data values (1,3,3);
insert into matrix_data values (1,4,3);
insert into matrix_data values (1,5,4);
insert into matrix_data values (2,1,4);
insert into matrix_data values (2,2,4);
insert into matrix_data values (2,3,5);
insert into matrix_data values (2,4,6);
insert into matrix_data values (3,1,3);
insert into matrix_data values (3,2,2);
insert into matrix_data values (3,3,2);
insert into matrix_data values (4,1,2);
insert into matrix_data values (4,2,1);
insert into matrix_data values (5,1,1);
을 할 수 있습니까?
예. (이것은 단지 나중에이 질문을 찾을 수있는 주석입니다.) – podiluska
예상 출력에 오류가있는 것 같습니다 : M [4,4]는 2.75 (4.5 + 1)/2 = 5.5 = 2.75가됩니다. 게시하기 전에 내 솔루션이 올바른지 확인하고 싶습니다. –
@podiluska : 세상에 알리지 않고도 같은 목적으로 "좋아하는"기능을 사용할 수 있습니다. –