제공: 해당 속성에 대한 신발을 사용할 수 있는지 여부를 나타내는 여러 부울 필드에 신발에 대한 다양한 속성이 포함된 소스 테이블이 있습니다. 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을 처음 사용합니다. 원하는 피벗 보기를 달성할 수 있는 논리를 찾도록 도와주세요. 데이터가 방대하므로 확장 가능한 솔루션을 고려하세요. 질문이 불분명하고 명확히 하기 위해 설명이 필요한 경우 알려주시기 바랍니다.
다음과 같은 쿼리를 사용할 수 있습니다. -
으아악원하는 언어로 쉽게 구축할 수 있습니다. 다음은 PHP를 사용한 간단한 예입니다 -
으아악