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

JOINを使用して相互関係のある行をカウントするMySQLクエリ?


これには、集計関数COUNT(*)を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable1543
   -> (
   -> Value1 int,
   -> Value2 int
   -> );
Query OK, 0 rows affected (1.36 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1543 values(57,60);
Query OK, 1 row affected (0.52 sec)
mysql> insert into DemoTable1543 values(60,68);
Query OK, 1 row affected (0.38 sec)
mysql> insert into DemoTable1543 values(90,98);
Query OK, 1 row affected (0.36 sec)
mysql> insert into DemoTable1543 values(98,90);
Query OK, 1 row affected (0.20 sec)

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

mysql> select * from DemoTable1543;

これにより、次の出力が生成されます-

+--------+--------+
| Value1 | Value2 |
+--------+--------+
|     57 |     60 |
|     60 |     68 |
|     90 |     98 |
|     98 |     90 |
+--------+--------+
4 rows in set (0.00 sec)

これは、両方の列の数値90のような相互関係を持つ行をカウントするクエリです-

mysql> select count(*) from DemoTable1543 tbl1
   -> join DemoTable1543 tbl2
   -> on tbl1.Value2=tbl2.Value1
   -> where tbl1.Value1=90 and tbl2.Value2=90;

これにより、次の出力が生成されます-

+----------+
| count(*) |
+----------+
|        1 |
+----------+
1 row in set (0.00 sec)

  1. MySQLクエリでCASE条件でカウントを使用するにはどうすればよいですか?

    MySQLでこれにCASEWHENを使用し、COUNT()メソッド内でCASE条件を設定してカウントします。まずテーブルを作成しましょう- mysql> create table DemoTable1374    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> Name varchar(20),    -> Score int    -> ); Query OK, 0 rows affe

  2. ApacheでのMySQLの使用

    ApacheでMySQLを使用する方法を理解しましょう- Apacheは、ApacheSoftwareFoundationによって開発および保守されているWebサーバーソフトウェアです。これは、ユーザーからの要求を受け取ってWebページにアクセスするソフトウェアです。 HTTPリクエストに対していくつかのセキュリティチェックが実行され、ユーザーはWebページに移動します。 MySQLデータベースからのユーザーの認証を可能にする多くのプログラムがあります。これらのプログラムを使用して、ログファイルをMySQLテーブルに書き込むこともできます。 Apacheのログ形式は、MySQLを使用し、