SQL Server 2014를 사용하고 있으며 어려운 쿼리에 도움이되지 않습니다.고유 한 다중 열 패턴 계산
다음 표 (MyTable)가 있습니다. 이러한 열 이름은 예에 불과합니다. 그들은 실제로 서로 완전히 다릅니다.
id int,
col1 int,
col2 int,
..
..
..
col70 int
순차 열의 각 쌍
{(COL1, COL2), (col2_col3) (col69_col70)}, i는 다음 계산해야 각 값을 갖는다 다른 쌍의 수 - col_i는 정적 열이고 col_i + 1은 다른 열입니다. 각 값은 표의 총 레코드 수로 나눠야합니다. 예를 들어
는col1 | col2
45 | 789
56 | 345
99 | 234
45 | 789
45 | 222
89 | 678
89 | 345
45 | 789
90 | 234
12 | 567
계산 :
는((45, 789)+(45, 222))/10
(56, 345)/10
(99, 234)/10
(45, 789)+(45, 222)/10
(45, 789)+(45, 222)/10
(89, 678)+(89, 345)/10
(89, 678)+(89, 345)/10
((45, 789)+(45, 222))/10
(90, 234)/10
(12, 567)/10
출력 : 제 레코드
col1_col2
0.2
0.1
0.1
0.2
0.2
0.2
0.2
0.2
0.1
0.1
설명 : 45 정적 열의 값이며, 그래서 이제는 확인할 것 col2로 얼마나 많은 조합을 찾을 수 있습니까?
45 | 789
45 | 789
45 | 222
45 | 789
총 고유 조합을 테이블의 레코드 수로 나눈 값 : 2/10 = 0.2
이 계산에는 각 쌍의 연속 열이 필요합니다. 어떤 추천? 각 쌍에 대해 줄이 포함 된 쿼리를 작성하는 대신 자동으로 계산하는 스마트 방법이 있습니까?
다음, 함수를 만드는 쿼리에 사용할 수 있습니까? – HaveNoDisplayName
왜 비슷한 데이터를 사용하는 많은 분야가 있습니까? 결함있는 모델처럼 보입니다. –
@GoatCO 이것이 내가 클라이언트에서 데이터를 얻은 방법입니다. 나는 구조를 바꿀 수 없다. – Omri