SQL: ブール値を持つ複数のフィールドを含む集計ピボット ビューが必要です
P粉969253139
P粉969253139 2023-09-07 19:47:09
0
1
588

与えられた: 履物に関するさまざまな属性を、その属性の履物が利用可能かどうかを示す複数のブール値フィールドに含むソース テーブルがあります。 1=利用可能、0=利用不可。サンプルデータは次のとおりです -

製品ID s_7 s_8 s_9 s_10 c_white c_black c_blue c_ブラウン c_other t_靴 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 のバイナリ値を持ちます。 50,000 を超える prod_id があります。

######聞く:### 属性の各ペアの可用性の回転分布が必要であり、セル値は交差部分にある特定のペアの prod_id の数を示す必要があります。 たとえば、属性「s_8」および「c_black」を持つ prod_id のカウントは 4 です (s_8=1 および c_black=1)。以下のビューに表示されるはずです。これは、さらなる分析に役立つ可能性があります。

属性s_7s_8s_9s_10c_whitec_blackc_bluec_ブラウンc_othert_靴t_サンダルt_スリッパ...s_7322021301012...s_8264224334312...s_924325434323...s_100....................................c_white2......c_black1......c_blue3......c_ブラウン0......c_other1......t_靴0......t_サンダル1......t_スリッパ2................................................SQL は初めてです。目的のピボット ビューを実現できるロジックを見つけるのを手伝ってください。データが大きいため、スケーラブルなソリューション
###7###
直観的には、出力テーブルは対角線にミラーリングされており、対角線のセルにはその特定の属性の prod_id の合計数が含まれます。
を検討してください。質問が不明瞭で、明確にするために説明が必要な場合は、お知らせください。

P粉969253139
P粉969253139

全員に返信(1)
P粉022723606

-

のようなクエリを使用できます。 リーリー

選択した言語で簡単に構築できます。 PHP を使用した簡単な例を次に示します -

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート