MySQL を使用して Excel でデータ生成を完了する方法

MySQL を使用して Excel でデータ生成を完了する方法

Excel は、データ分析に最もよく使用されるツールです。この記事では、MySQL と Excel の機能を比較し、MySQL を使用してデータ生成、データ クリーニング、前処理、および Excel で最も一般的なデータ分類、データ フィルタリング、分類サマリー、およびデータ ピボット操作を実行する方法を紹介します。本記事では、パート5、6、7のデータ抽出、データスクリーニング、データ集計と視点の内容を紹介します。

5. データ抽出

5 番目の部分はデータ抽出です。これはデータ分析で最も一般的なタスクでもあります。以下に各機能の使い方を説明します。

列ごとにデータを抽出する

#按列提取SELECT city FROM data1;

行ごとにデータを抽出する

#行で抽出SELECT * FROM data1 WHERE city='beijing';

場所別にデータを抽出する

#位置で抽出 SELECT * FROM data1 LIMIT 2,5;

条件別にデータを抽出する

#条件で抽出して計算 SELECT AVG(price) FROM data1 WHERE city='beijing' AND age<25;

6. データのスクリーニング

6 番目の部分はデータ フィルタリングです。AND、OR、NOT、より大きい、より小さい、等しいという 3 つの条件を使用してデータをフィルタリングし、データをカウントして合計します。 Excel のフィルタリング関数や countifs 関数、sumifs 関数に似ています。

条件(and、or、not)でフィルタリング

Excel データ ディレクトリには、さまざまな条件に従ってデータ テーブルをフィルター処理するために使用される「フィルター」機能が用意されています。 MySQL では、フィルタリング操作を完了するために WHERE が使用され、sum 関数と count 関数は Excel の sumif 関数と countif 関数の機能も実現できます。

#データフィルタリングAND
SELECT * FROM data1 WHERE city='shanghai' AND age>30;

#データフィルタリングIN
SELECT * FROM data1 WHERE city IN ('shanghai','beijing');

#データフィルタリングOR
SELECT * FROM data1 WHERE city='shanghai' OR age>30;

#データフィルタリング(等しくない)
SELECT * FROM data1 WHERE city !='北京';

#データフィルタリング(ファジーフィルタリング)
SELECT * FROM data1 WHERE city LIKE 'bei%';

#フィルタリング後のカウント countif
SELECT COUNT(id) AS id_count FROM data1 WHERE city='shanghai'AND age>30;

#フィルタリング後の合計 sumtif
SELECT SUM(price) AS price FROM data1 WHERE city='beijing' AND age<30;

#フィルタリング後の平均値を求める averageif
SELECT AVG(price) AS avg_price FROM data1 WHERE city !='beijing';

7. データの分類、要約、展望

7 番目の部分は、データを分類して要約することです。Excel では、分類と要約、ピボット データを使用して、特定のディメンションに従ってデータを要約できます。MySQL で使用される主な関数は、GROUP BY と CASE WHEN です。以下では、これら 2 つの機能の使用方法を説明します。

分類

Excel では、データ ディレクトリの下に「小計」機能が用意されており、指定されたフィールドと集計方法に従ってデータ テーブルを集計できます。 MySQL では、対応する操作は GROUP BY を通じて完了し、複数レベルの分類集計をサポートできます。

GROUP BY は分類と集計のための関数です。使い方はとても簡単です。グループ化する列名を指定したり、複数の列名を同時に指定することもできます。GROUP BY は列名の出現順にグループ化します。同時に、グループ化後に集計方法を策定する必要があります。最も一般的な方法は、カウントと合計です。

#単一列分類サマリー SELECT city,COUNT(id) AS id_count FROM data1 GROUP BY city ORDER BY id_count;

#複数の列 SELECT city,colour,ROUND(SUM(price),2) AS id_count FROM data1 GROUP BY city,colour;

ピボット

Excel の挿入ディレクトリには、特定のディメンションに従ってデータ テーブルを要約するための「ピボット テーブル」機能が用意されています。 MySQL には直接的なピボット テーブル機能はありません。しかし、CASE WHEN 関数を使用しても同じ効果が得られます。

ピボット テーブルも、データを分類および要約するためによく使用される方法であり、その機能は GROUP BY よりも強力です。次のコードでは、city が行フィールドとして設定され、colour が列フィールドとして設定され、price が値フィールドとして設定され、価格が計算されます。

#元のデータ テーブルを表示します SELECT * FROM data1;

#CASE WHENを使用してデータをピボットする CREATE VIEW data_Items AS (
 選択
 データ1.都市、
 色 = "A" の場合、価格は A として終了します。
 CASE WHEN colour = "B" THEN price END AS B、
 CASE WHEN colour = "C" THEN price END AS C、
 CASE WHEN colour = "F" THEN price END AS F
 データ1から
);

#結果を表示する SELECT * FROM data_Items;

#フィールドを要約する CREATE VIEW data1_Extended_Pivot AS (
 選択
 市、
 SUM(A) を A として、
 SUM(B) を B として計算すると、
 SUM(C) を C として計算します。
 SUM(F) を F として
 data_Itemsから
 都市別にグループ化
);

#結果を表示する SELECT * FROM data1_Extended_Pivot;

#null値を処理する CREATE VIEW data1_Extended_Pivot_Pretty AS (
 選択 
 市、 
 COALESCE(A, 0) を A として、 
 COALESCE(B, 0) を B として、 
 COALESCE(C, 0) を C として、
 COALESCE(F, 0) を F として
 data1_Extended_Pivot から
);

#ピボット データの結果を表示します SELECT * FROM data1_Extended_Pivot_Pretty;

以下もご興味があるかもしれません:
  • PHP を使用して Excel を MySQL にインポートする方法
  • Excel データを Mysql データベースにインポートする実装コード
  • PHPExcel クラスを使用して Excel インポート MySQL データベース機能を実装する (サンプル コード)
  • PHP は MySQL データを Excel ファイルにエクスポートします (fputcsv)
  • PHP で Excel を MySQL にインポートする
  • MySQL の中国語文字化けの問題を解決し、SQL 文と Excel にエクスポートする方法 [画像とテキスト]

<<:  詳細なLinuxインストールチュートリアル

>>:  JS を使用して Web ページのウォーターフォール レイアウトを実装する方法

推薦する

MySqlのインストールとログインの詳細な説明

LinuxにMySQLがすでにインストールされているかどうかを確認する sudo service m...

Python3.6-MySql 挿入ファイルパス、バックスラッシュをなくす解決策

以下のように表示されます。上記のように、置き換えるだけです。 Python3.6-MySql でファ...

MySQL で指定した桁数の乱数を生成する方法と、バッチで乱数を生成する方法

1. まず、よく使われるMySQL関数をいくつか紹介しますRAND() は 0 から 1 (0<...

CSS でフローティングにより親要素の高さが崩れる問題を解決するいくつかの方法

以前は、フロートはレイアウトによく使用されていましたが、フローティングレイアウトを使用すると親要素の...

MySQL 操作: JSON データ型の操作

前回の記事では、MySQL データ保存手順パラメータの詳細な例を紹介しました。今日は、JSON デー...

JS ES6における構造化分解についてお話しましょう

概要es6 では、配列またはオブジェクトから指定された要素を取得する新しい方法が追加されました。これ...

MySQL でコマンドを使用して階層検索を実現する方法の詳細な説明

序文この記事は主にMySQLコマンド階層検索ヘルプの使用に関する内容を紹介します。この記事のサンプル...

Ubuntu 20.04でルートアカウントを有効にする方法

Ubuntu 20.04 をインストールした後、デフォルトでは root アカウントのログイン権限が...

MySQLクエリステートメント内のユーザー変数のコード分析

前回の記事では、MySQL 最適化の概要 - クエリの合計数を紹介しました。この記事では、クエリ ス...

SQL における参照整合性の詳細な説明 (1 対 1、1 対多、多対多)

1. 参照整合性参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。複数テ...

Tomcat および Web アプリケーションの Docker デプロイメントの実装

1.dockerをオンラインでダウンロードする yum インストール -y epel-release...

React Native APPのアップデートに関する簡単な説明

目次アプリ更新プロセス大まかなフローチャートアプリ情報の更新1. まず取得する必要があるファイルアド...

Linux および Unix サーバーのセキュリティを強化する方法

ネットワーク セキュリティは非常に重要なトピックであり、サーバーはネットワーク セキュリティにおける...

Windows に MySQL 5.7.18 の解凍バージョンをインストールするチュートリアル

1. インストールプロセスMySQL バージョン: 5.7.18 1. my.ini ファイル(簡易...

Node.js で MySQL データベースにバッチデータを挿入する方法

プロジェクト(nodejs)では、一度に複数のデータをデータベースに挿入する必要があります。データベ...