ホームページ  >  記事  >  データベース  >  mysqlで複数の行を複数の列に変換する方法

mysqlで複数の行を複数の列に変換する方法

anonymity
anonymityオリジナル
2019-05-24 10:06:029463ブラウズ

複数の行を複数の列に変換する Mysql の方法: 最初に元のテーブルのデータをクエリし、次に複数のデータ行を同じ列または異なる列にマージします (例: [select name, group_concat(sore Separator) '; ') stu グループからの名前別のスコアとして]。

mysqlで複数の行を複数の列に変換する方法

MySQL でのルート変換

(ビデオ チュートリアルの推奨: mysql ビデオ チュートリアル)

mysql の行と列の変換は、プロジェクト、特に一部の財務プロジェクトのレポートで非常に頻繁に使用されます。最も面倒なことは、複数の行を複数の列に変換することと、動的な列 - 行変換です。最近、私はこれらの行変換を研究しており、最も単純な行と列の変換から始めました。

まず、サンプルデータの元のテーブルは次のとおりです。

mysqlで複数の行を複数の列に変換する方法

[複数行を 1 列に] (マージされたデータは同じです)列):

select name ,group_concat(sore Separator ';') as score from stu group by name

mysqlで複数の行を複数の列に変換する方法

[複数行を複数列] (マージされたデータは別の列にあります):

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で複数の行を複数の列に変換する方法

以上がmysqlで複数の行を複数の列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。