SQL: 부울 값이 있는 여러 필드가 있는 집계 피벗 뷰가 필요합니다.
P粉969253139
P粉969253139 2023-09-07 19:47:09
0
1
591

제공: 해당 속성에 대한 신발을 사용할 수 있는지 여부를 나타내는 여러 부울 필드에 신발에 대한 다양한 속성이 포함된 소스 테이블이 있습니다. 1=사용 가능, 0=사용할 수 없음. 샘플 데이터는 다음과 같습니다 -

Prod_id s_7 s_8 s_9 s_10 c_화이트 c_블랙 c_blue c_brown c_other t_shoes t_샌들 t_슬리퍼 ...
001 0 1 0 1 1 1 0 1 0 1 0 0 ...
002 1 1 0 0 1 0 1 0 0 0 0 1 ...
003 0 1 1 0 0 1 1 0 1 1 0 0 ...
004 0 0 1 1 0 0 1 1 0 0 1 1 ...
005 1 0 1 0 1 1 1 0 0 0 0 1 ...
006 0 1 1 1 0 1 0 1 1 1 0 0 ...
007 0 0 1 1 1 1 0 0 0 1 0 0 ...
008 0 1 1 0 0 1 0 1 1 0 0 1 ...
009 1 1 1 0 0 0 1 0 1 0 1 0 ...
... ... ... ... ... ... ... ... ... ... ... ... ... ...

o_casual, o_formal, o_ethnic, m_canvas, m_leather, m_silicon, p_plain, p_textured, p_funky 등과 같은 일부 속성 열도 있으며 모든 속성 열에는 해당 prod_id의 바이너리 값이 있습니다. prod_id가 50,000개가 넘습니다.

질문: 각 속성 쌍의 가용성에 대한 순환 분포가 필요하며 셀 값은 교차점에서 지정된 쌍에 대한 prod_id 개수를 나타내야 합니다. 예를 들어, 속성이 "s_8" 및 "c_black"인 prod_id의 개수는 4입니다(여기서 s_8=1 및 c_black=1). 이는 아래 뷰에 나타나야 하며 이는 추가 분석에 유용할 수 있습니다.

속성 s_7 s_8 s_9 s_10 c_화이트 c_블랙 c_blue c_brown c_other t_shoes t_샌들 t_slippers ...
s_7 3 2 2 0 2 1 3 0 1 0 1 2 ...
s_8 2 6 4 2 2 4 3 3 4 3 1 2 ...
s_9 2 4 7 3 2 5 4 3 4 3 2 3 ...
s_10 0 ... ... ... ... ... ... ... ... ... ... ... ...
c_화이트 2 ... ...
c_블랙 1 ... ...
c_blue 3 ... ...
c_brown 0 ... ...
c_other 1 ... ...
t_shoes 0 ... ...
t_샌들 1 ... ...
t_슬리퍼 2 ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ...

직관적으로 출력 테이블은 대각선으로 미러링되며 대각선 셀에는 해당 특정 속성에 대한 총 prod_id 수가 포함됩니다.

저는 SQL을 처음 사용합니다. 원하는 피벗 보기를 달성할 수 있는 논리를 찾도록 도와주세요. 데이터가 방대하므로 확장 가능한 솔루션을 고려하세요. 질문이 불분명하고 명확히 하기 위해 설명이 필요한 경우 알려주시기 바랍니다.

P粉969253139
P粉969253139

모든 응답(1)
P粉022723606

다음과 같은 쿼리를 사용할 수 있습니다. -

으아악

원하는 언어로 쉽게 구축할 수 있습니다. 다음은 PHP를 사용한 간단한 예입니다 -

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿