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クエリで指定された非グループフィールドとは異なる場合があります。
-
MySQLを使用したJavaでのselectクエリにプリペアドステートメントを使用するにはどうすればよいですか?
これにはexecuteQuery()を使用する必要があります。構文は次のとおりです- yourPreparedStatementObject=yourConnectionObject.prepareStatement(yourQueryName); yourresultSetObject=yourPreparedStatementObject.executeQuery(); データベースの「サンプル」にテーブルを作成します。テーブルを作成するためのクエリは次のとおりです- mysql> create table JavaPreparedStatement -> ( -
-
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