mysql 行から列へ、列から行へ 難しい文章ではないので、詳しく説明はしません。文章を読むときは、一文ずつ内側から外側へと分析してください。 行から列へ 図に示すようなテーブルがあります。ここで、クエリ結果の行を列に変換します。 テーブル作成ステートメントは次のとおりです。 テーブル `TEST_TB_GRADE` を作成します ( `ID` int(10) NOT NULL AUTO_INCREMENT, `USER_NAME` varchar(20) デフォルト NULL, `COURSE` varchar(20) デフォルト NULL, `SCORE` float デフォルト '0'、 主キー (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 デフォルト CHARSET=utf8; TEST_TB_GRADE(USER_NAME, COURSE, SCORE)の値に挿入 (「張三」『数学』34) (「張三」、「中国人」、58)、 (「張三」、「英語」、58)、 (『李斯』『数学』45) (「李斯」、「中国人」、87)、 (「李斯」、「英語」、45)、 (「王武」『数学』76) (「王武」、「中国人」、34)、 (「王武」、「英語」、89) クエリステートメント: ここでMAXが使用される理由は、NULLを防ぐためにデータのないポイントを0に設定するためです。 ユーザー名を選択、 MAX(CASE コース WHEN '数学' THEN スコア ELSE 0 END ) 数学、 MAX(CASE コース WHEN '中国語' THEN スコア ELSE 0 END) 中国語、 MAX(CASE コース WHEN '英語' THEN スコア ELSE 0 END ) 英語 FROM test_tb_grade USER_NAME でグループ化します。 結果: 列から行へ 図のようなテーブルがあります。クエリ結果が行にリストされることを期待します。 テーブル作成ステートメントは次のとおりです。 テーブル `TEST_TB_GRADE2` を作成します ( `ID` int(10) NOT NULL AUTO_INCREMENT, `USER_NAME` varchar(20) デフォルト NULL, `CN_SCORE` float デフォルト NULL、 `MATH_SCORE` float デフォルト NULL、 `EN_SCORE` float デフォルト '0'、 主キー (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 デフォルト CHARSET=utf8; TEST_TB_GRADE2(USER_NAME, CN_SCORE, MATH_SCORE, EN_SCORE) の値を挿入する (「張三」、34、58、58)、 (「李斯」、45、87、45)、 (「王武」76、34、89); クエリステートメント: test_tb_grade2 から user_name、'Language' COURSE、CN_SCORE を SCORE として選択します。 unit select user_name, '数学' COURSE, MATH_SCORE as SCORE from test_tb_grade2 結合により、test_tb_grade2 から user_name、'English' COURSE、EN_SCORE を SCORE として選択します。 ユーザー名、コースで並べ替えます。 結果: 読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。 以下もご興味があるかもしれません:
|
>>: Linux 占有ポートの強制解放と Linux ファイアウォールのポート開放方法の詳しい説明
1. チェックステータスモジュールがインストールされているかどうかを確認します。 [root@loc...
新しいウィンドウが開きます。 利点: ユーザーがリンクをクリックしても、現在閲覧しているコンテンツは...
関数0. 現在の時刻を表示するコマンド: select now()。機能: 現在の時刻を表示します。...
今日は、MySQL IN サブクエリの最適化に関するケーススタディを見ました。最初は少し懐疑的でした...
Linux には、2 種類のファイル接続があります。1 つは Windows のショートカットに似て...
データが変更されても、DOM ビューはすぐには更新されません。変更直後にノードまたはその値を取得しよ...
まず最初に、ロード バランシングとは何かについて説明します。ロード バランシングとは、リクエストの内...
導入Memcached は分散キャッシュ システムです。Memcached には認証とセキュリティ制...
目次animate() アニメーションメソッドアニメーションキューイングdelay() メソッドアニ...
目次序文解決:ステップ1ステップ2序文環境: VMware Workstation 上に Linux...
SSH ターミナル (putty、xshell など) を使用して Linux サーバーに接続し、時...
序文:プロジェクト開発では、一部のビジネス テーブル フィールドで日付と時刻の型が使用されることが多...
クローラーの開発プロセス中に、クローラーを複数のサーバーに展開する必要がある状況に遭遇したことがある...
1. デフォルトでインストールされているMySQLの文字セットを確認するmysql> '...
序文日曜日に自宅で web.dev の 2020 3 日間ライブを視聴したところ、興味深い点がたくさ...