複数の行を複数の列に変換する Mysql の方法: 最初に元のテーブルのデータをクエリし、次に複数のデータ行を同じ列または異なる列にマージします (例: [select name, group_concat(sore Separator) '; ') stu グループからの名前別のスコアとして]。
MySQL でのルート変換
(ビデオ チュートリアルの推奨: mysql ビデオ チュートリアル)
mysql の行と列の変換は、プロジェクト、特に一部の財務プロジェクトのレポートで非常に頻繁に使用されます。最も面倒なことは、複数の行を複数の列に変換することと、動的な列 - 行変換です。最近、私はこれらの行変換を研究しており、最も単純な行と列の変換から始めました。
まず、サンプルデータの元のテーブルは次のとおりです。
[複数行を 1 列に] (マージされたデータは同じです)列):
select name ,group_concat(sore Separator ';') as score from stu group by name
[複数行を複数列] (マージされたデータは別の列にあります):
SELECT name , MAX(CASE type WHEN '数学' THEN score ELSE 0 END ) math, MAX(CASE type WHEN '英语' THEN score ELSE 0 END ) English , MAX(CASE type WHEN '语文' THEN score ELSE 0 END ) Chinese FROM stu GROUP BY name
以上がmysqlで複数の行を複数の列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。