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

MySQLテーブルで特定の値を持つ3つ以上の行を持つ行をカウントします


まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> UserId int
   -> );
Query OK, 0 rows affected (0.48 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable values(20);
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable values(30);
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.09 sec)

mysql> insert into DemoTable values(20);
Query OK, 1 row affected (0.17 sec)

mysql> insert into DemoTable values(30);
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.19 sec)

mysql> insert into DemoTable values(20);
Query OK, 1 row affected (0.17 sec)

mysql> insert into DemoTable values(20);
Query OK, 1 row affected (0.11 sec)

mysql> insert into DemoTable values(40);
Query OK, 1 row affected (0.21 sec)

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

mysql> select *from DemoTable;

出力

+----------+
| UserId   |
+----------+
|      10  |
|      20  |
|      30  |
|      10  |
|      10  |
|      20  |
|      30  |
|      10  |
|      20  |
|      20  |
|      40  |
+----------+
11 rows in set (0.00 sec)

以下は、MySQLテーブル内の特定の値を持つ3つ以上の行を持つ行をカウントするためのクエリです-

mysql> select count(*)
   -> from (select UserId, count(*) as total
   -> from DemoTable group by UserId
   -> )tbl
   -> where total >=3;

これにより、次の出力が生成されます。つまり、値10と20が3回以上表示されます。したがって、カウントは2つの値に対するものです-

出力

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

  1. Javaを使用してMySQLテーブルの列数をカウントする

    これには、ResultSetMetaDataを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> StudentFirstName varchar(20),    -> StudentLastName varchar(20)    -> ); Query OK, 0 r

  2. MySQLで1つ以上の列の正確な値を持つ行を見つける方法は?

    このために、サブクエリでGROUPBYHAVINGを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1861      (      Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,      Name varchar(20),      Marks int      ); Query OK, 0 rows affected (0.00 sec)