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

与えられた:履物に関するさまざまな属性を、その属性の履物が利用可能かどうかを示す複数のブール値フィールドに含むソース テーブルがあります。 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_7 s_8 s_9 s_10 c_white c_black c_blue c_ブラウン c_other t_靴 t_サンダル t_スリッパ ... 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 3 2 5 4 3 4 3 2 3 ... s_10 0 ... ... ... ... ... ... ... ... ... ... ... ... c_white 2 ... ... c_black 1 ... ... c_blue 3 ... ... c_ブラウン 0 ... ... c_other 1 ... ... t_靴 0 ... ... t_サンダル 1 ... ... t_スリッパ 2 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... SQL は初めてです。目的のピボット ビューを実現できるロジックを見つけるのを手伝ってください。データが大きいため、 スケーラブルなソリューション
###7###
直観的には、出力テーブルは対角線にミラーリングされており、対角線のセルにはその特定の属性の prod_id の合計数が含まれます。
を検討してください。質問が不明瞭で、明確にするために説明が必要な場合は、お知らせください。

P粉969253139
P粉969253139

全員に返信 (1)
P粉022723606

-

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

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

リーリー
いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!