フォームを列形式に変更します
Challenge 質問:
solution : ステップ1:興味のある列を選択 okは、y値とx値(itemname)を提供する列を提供します。
ステップ2:基本テーブルを拡張
一意のx値ごとに追加の列を作成します。
ステップ3:グループ化と集約
groupid(hostID)および拡張テーブルを集計します。
ステップ4:Beautify(オプション) null値をゼロに置き換えて、より明確な外観を取得します。
: 拡張列で使用される値と欠損値のデフォルト値をカスタマイズできます。
重合関数(たとえば、最大)を調整できます。 複数の列をy値として使用するか、多数の視点列が必要な場合、このソリューションは適用できない場合があります。
hostid
A
B
C
1
10
3
0
2
9
0
40
<code class="language-sql">CREATE VIEW history_extended AS
SELECT
history.*,
CASE WHEN itemname = "A" THEN itemvalue END AS A,
CASE WHEN itemname = "B" THEN itemvalue END AS B,
CASE WHEN itemname = "C" THEN itemvalue END AS C
FROM history;</code>
<code class="language-sql">CREATE VIEW history_itemvalue_pivot AS
SELECT
hostid,
SUM(A) AS A,
SUM(B) AS B,
SUM(C) AS C
FROM history_extended
GROUP BY hostid;</code>
<code class="language-sql">CREATE VIEW history_itemvalue_pivot_pretty AS
SELECT
hostid,
COALESCE(A, 0) AS A,
COALESCE(B, 0) AS B,
COALESCE(C, 0) AS C
FROM history_itemvalue_pivot;</code>
以上がmysqlテーブルをピボットする方法:行を列に変換しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。