MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLクエリで相関を計算することは可能ですか?


はい、クエリで相関を計算することは可能です。クエリの相関関係を理解するには、最初にテーブルを作成する必要があります。テーブルを作成するためのクエリは次のとおりです

mysql> create table correlationDemo
   - > (
   - > value float not null,
   - > value2 float not null
   - > );
Query OK, 0 rows affected (0.62 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。テーブルにレコードを挿入するためのクエリは次のとおりです

mysql> insert into correlationDemo values(1,10);
Query OK, 1 row affected (0.19 sec)
mysql> insert into correlationDemo values(2,4);
Query OK, 1 row affected (0.16 sec)
mysql> insert into correlationDemo values(3,5);
Query OK, 1 row affected (0.14 sec)
mysql> insert into correlationDemo values(6,17);
Query OK, 1 row affected (0.16 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示します。

クエリは次のとおりです

mysql> select *from correlationDemo;

以下は出力です

+-------+--------+
| value | value2 |
+-------+--------+
|     1 | 10     |
|     2 | 4      |
|     3 | 5      |
|     6 | 17     |
+-------+--------+
4 rows in set (0.03 sec)

これがクエリの単純な相関関係です

mysql> select @firstValue:=avg(value),
   - > @secondValue:=avg(value2),
   - > @division:=(stddev_samp(value) * stddev_samp(value2)) from correlationDemo;

以下は出力です

+-------------------------+---------------------------+-------------------------------------------------------+
| @firstValue:=avg(value) | @secondValue:=avg(value2) | @division:=(stddev_samp(value) *stddev_samp(value2))  |
+-------------------------+---------------------------+-------------------------------------------------------+
| 3                       | 9                         | 12.84090685617215                                     |
+-------------------------+---------------------------+-------------------------------------------------------+
1 row in set (0.00 sec)

上記の相関クエリの計算は次のとおりです

mysql> select sum( ( value - @firstValue ) * (value2 - @secondValue) ) / ((count(value) -1) *
@division) from
   - > correlationDemo;

以下は出力です

+--------------------------------------------------------------------------------------------+
| sum( ( value - @firstValue ) * (value2 - @secondValue) ) / ((count(value) -1) * @division) |
+--------------------------------------------------------------------------------------------+
| 0.7008850777290727                                                                         |
+--------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

  1. 2つのテーブルに対する単一のMySQL選択クエリは可能ですか?

    はい、可能です。以下は構文です- select * from yourTableName1,yourTableName2; まずテーブルを作成しましょう- mysql> create table DemoTable1    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY    -> ); Query OK, 0 rows affected (0.54 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql>

  2. MySQLクエリの入力

    コンソールにクエリを入力する前に、ユーザーがサーバーに接続していることを確認することが重要です。以下のクエリは、使用されているサーバーのバージョン番号と現在の日付を示します。 mysql> SELECT VERSION(), CURRENT_DATE; 注: 関数「VERSION()」および「CURRENT_DATE」は大文字と小文字を区別しません。これは、「version()」、「Version()」、「vERsion()」を意味し、すべて同じ意味です。同じことが「CURRENT_DATE」にも当てはまります SQLクエリの後にセミコロンが続きます。 」も出力され、サーバー