mysqlのpivot関数が機能しない場合、どうやって解決すればいいですか?
MySQLには、組み込みのPIVOT関数はありませんが、CASE文を使用して同様の効果を実現することができます。
以下是一个示例,演示如何使用CASE语句来实现PIVOT功能:
SELECT
id,
MAX(CASE WHEN category = 'A' THEN value END) AS A,
MAX(CASE WHEN category = 'B' THEN value END) AS B,
MAX(CASE WHEN category = 'C' THEN value END) AS C
FROM
your_table
GROUP BY id;
上記の例を考えると、your_tableという名前のテーブルがあり、id、category、valueの3つの列が含まれているとします。このデータをidで集約し、categoryの値を列名、valueの値を列の値として設定したいと思います。
SELECT句で、CASE文を使用して列を作成します。CASE文では、categoryが特定の値の場合はvalueの値を返し、それ以外の場合はNULLを返します。最後に、idでグループ化を行うためにGROUP BY句を使用します。
実際のテーブル名をyour_tableに置き換えて、列名や条件を必要に応じて調整してください。