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

MySQLでカウントが最も多いフィールドを返します


カウントが最も高いフィールドを返すには、ORDER BY COUNT(*)を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable1940
   (
   FirstName varchar(20)
   );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1940 values('Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1940 values('Mike');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1940 values('Adam');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1940 values('Mike');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1940 values('Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1940 values('David');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1940 values('Mike');
Query OK, 1 row affected (0.00 sec)

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

mysql> select * from DemoTable1940;

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

+-----------+
| FirstName |
+-----------+
| Chris     |
| Mike      |
| Adam      |
| Mike      |
| Chris     |
| David     |
| Mike      |
+-----------+
7 rows in set (0.00 sec)

カウントが最も多いフィールドを返すクエリは次のとおりです。

mysql> select * from DemoTable1940
   group by FirstName
   order by count(*) desc
   limit 1;

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

+-----------+
| FirstName |
+-----------+
| Mike      |
+-----------+
1 row in set (0.00 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を使用して、さまざまな行から単一のフィールドにリストを返します

    これには、GROUP_CONCAT()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2024    -> (    -> SubjectName varchar(20),    -> StudentName varchar(20)    -> ); Query OK, 0 rows affected (0.62 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert in