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

MySQL SELECTクエリで非グループフィールドでグループ関数を使用するにはどうすればよいですか?


SELECTクエリで非グループフィールドを持つグループ関数を使用する場合は、GROUPBY句を使用する必要があります。一般的な構文は次のとおりです

構文
SELECT group_function1,…, non-group-column1,… from table_name GROUP BY column_name;
mysql> Select COUNT(*), id from Student GROUP BY id;
+----------+------+
| COUNT(*) | id   |
+----------+------+
| 1        | 1    |
| 1        | 2    |
| 1        | 15   |
| 1        | 17   |
| 1        | 20   |
+----------+------+
5 rows in set (0.00 sec)

mysql> Select COUNT(*), address from Student GROUP BY id;
+----------+---------+
| COUNT(*) | address |
+----------+---------+
| 1        | Delhi   |
| 1        | Mumbai  |
| 1        | Delhi   |
| 1        | Shimla  |
| 1        | Jaipur  |
+----------+---------+
5 rows in set (0.00 sec)

GROUP BY句の後のフィールドは、SELECTクエリで指定された非グループフィールドとは異なる場合があります。


  1. MySQLを使用したJavaでのselectクエリにプリペアドステートメントを使用するにはどうすればよいですか?

    これにはexecuteQuery()を使用する必要があります。構文は次のとおりです- yourPreparedStatementObject=yourConnectionObject.prepareStatement(yourQueryName); yourresultSetObject=yourPreparedStatementObject.executeQuery(); データベースの「サンプル」にテーブルを作成します。テーブルを作成するためのクエリは次のとおりです- mysql> create table JavaPreparedStatement -> ( -

  2. 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