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

MySQLで条件付きGROUPBYを実行してフェッチするにはどうすればよいですか?


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

mysql> create table DemoTable
(
   StudentName varchar(40),
   StudentMarks int
);
Query OK, 0 rows affected (0.64 sec)

挿入コマンド-

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

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

mysql> select *from DemoTable;

これにより、次の出力が生成されます。ここでは、78と67のマークが付いた学生「ジョン」のような重複した学生名があります-

+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| John        |           78 |
| Chris       |           48 |
| John        |           67 |
| Chris       |           89 |
+-------------+--------------+
4 rows in set (0.00 sec)

以下は、条件付きGROUP BYを実行し、最大のマークで個別の学生名を表示するためのクエリです。たとえば、最大点数78の学生「ジョン」-

mysql> select StudentName,Max(StudentMarks) AS StudentMarks from DemoTable group by StudentName;

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

+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| John        |           78 |
| Chris       |           89 |
+-------------+--------------+
2 rows in set (0.00 sec)

  1. MySQL GROUP BY句の行を並べ替える、または選択する方法は?

    まずテーブルを作成しましょう- mysql> create table DemoTable1572    -> (    -> StudentId int,    -> StudentMarks int,    -> StudentName varchar(20)    -> ); Query OK, 0 rows affected (0.56 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert i

  2. Android でグループ メッセージングを実行する方法

    グループ メッセージング (別名グループ テキスト メッセージ) を使用すると、ユーザーは、インターネットではなくセルラー ネットワークを使用して、グループの人々と通信できます。最近では、WhatsApp や Facebook Messenger などのインターネット ベースのグループ チャット アプリケーションが普及していますが、インターネット接続を常に確保して維持する必要がないため、依然としてグループ メッセージング方式を好む人もいます。また、仕事、家族、またはその他の目的で、毎日、人々のグループとコミュニケーションをとる必要があります。多くのグループ メッセージング Android アプ