この記事では、例を使用して、MySQL の水平テーブルと垂直テーブル間の変換操作を実装する方法を説明します。ご参考までに、詳細は以下の通りです。 まずスコア表(縦の表)を作成します テーブルuser_scoreを作成する ( 名前varchar(20), 科目varchar(20), スコア int ); user_score(name,subjects,score) に values('张三','語文',60) を挿入します。 user_score(name,subjects,score) に values('张三','数学',70) を挿入します。 user_score(name,subjects,score) に values('张三','英语',80) を挿入します。 user_score(name,subjects,score) に values('李四','語文',90) を挿入します。 user_score(name,subjects,score) に values('李四','数学',100) を挿入します。 別のスコア表(横表)を作成する テーブルuser_score2を作成する ( 名前varchar(20), ユウェンint、 シュシュエint、 インユイント ); user_score2(name,yuwen,shuxue,yingyu) に values('张三',60,70,80) を挿入します。 user_score2(name,yuwen,shuxue,yingyu) に values('李四',90,100,0) を挿入します。 縦の表を横の表に変換する 名前、合計を選択(case subject when 'Chinese' then score else 0 end) as '中国語',sum(case 科目 when '数学' then スコア else 0 end) '数学' の場合、sum(case 科目 when '英語' then スコア else 0 end) user_score から名前でグループ化して「英語」として; 縦の表を横の表に変換する SELECT name,'yuwen' AS subject,yuwen AS score FROM user_score2 UNION ALL SELECT name,'shuxue' AS subject,shuxue AS score FROM user_score2 UNION ALL SELECT name,'yingyu' AS subject,yingyu AS score FROM user_score2 ORDER BY name,subjects DESC; MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
>>: Vue+Openlayerはmodifyを使用して要素の完全なコードを変更します
var() の紹介と使用法詳細 (MDN) IEは無効ですが、他の主流のブラウザは有効ですvar()...
セレクタのグループ化h2 要素と段落の両方を灰色にしたいとします。これを行う最も簡単な方法は、次のス...
ポートとは何ですか?私たちが通常参照するポートは、物理的な意味でのポートではなく、具体的には TCP...
この記事では、Web ページを作成する前に確認すべき、いわゆる仕様をいくつかまとめました。皆様のお役...
1. 背景DockerでRabbitMQをデプロイする際に、次の2つの問題が発生します。問題1: ス...
FastDFSとNginxの統合:トラッカーは、負荷分散と高可用性のために Nginx と組み合わせ...
この記事では、絵文字用の MySQL Java サーバーのサポートと問題解決方法について説明します。...
背景最近、複数のプロジェクトを展開する際に、1 つのドメイン名で複数のプロジェクトにアクセスする方法...
Linux タスク管理 - バックグラウンド実行と終了fg、bg、ジョブ、&、ctrl + ...
0. 新しい操作: mkdir abc #新しいフォルダを作成 touch abc.sh #新しいフ...
この記事では、画像を読み込むためのJavaScriptキャンバスの具体的なコードを参考までに紹介しま...
この効果はブラウザ ページで最もよく見られます。まずは効果の画像をご覧ください。 上の図に示すように...
1. 4つの起動方法: 1.mysqld MySQL サーバーを起動します: ./mysqld --...
PS: 最近、nginx を詳細に紹介している <<High-Performance ...
主キーを作成するには 2 つの方法があります。 テーブルテーブル名を作成( フィールド名タイプ、 フ...