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

MySQL DISTINCT句が使用されているように、複数の列でMySQL GROUP BY句を使用できますか?


はい、MySQL DISTINCT句を使用できるのと同じように、複数の列でMySQLGROUPBY句を使用することができます。 「testing」という名前のテーブルの「fname」列と「Lname」列で、最初のクエリでDISTINCT句を使用し、2番目のクエリでGROUPBY句を使用した次の例について考えてみます。

mysql> Select * from testing;
+------+---------+---------+
| id   | fname   | Lname   |
+------+---------+---------+
|  200 | Raman   | Kumar   |
|  201 | Sahil   | Bhalla  |
|  202 | Gaurav  | NULL    |
|  203 | Aarav   | NULL    |
|  204 | Harshit | Khurana |
|  205 | Rahul   | NULL    |
|  206 | Piyush  | Kohli   |
|  207 | Lovkesh | NULL    |
|  208 | Gaurav  | Kumar   |
|  209 | Raman   | Kumar   |
+------+---------+---------+
10 rows in set (0.00 sec)

mysql> Select DISTINCT FNAME,LNAME from testing;
+---------+---------+
| FNAME   | LNAME   |
+---------+---------+
| Raman   | Kumar   |
| Sahil   | Bhalla  |
| Gaurav  | NULL    |
| Aarav   | NULL    |
| Harshit | Khurana |
| Rahul   | NULL    |
| Piyush  | Kohli   |
| Lovkesh | NULL    |
| Gaurav  | Kumar   |
+---------+---------+
9 rows in set (0.00 sec)

mysql> Select Fname, LNAME from testing GROUP BY Fname,Lname;
+---------+---------+
| Fname   | LNAME   |
+---------+---------+
| Aarav   | NULL    |
| Gaurav  | NULL    |
| Gaurav  | Kumar   |
| Harshit | Khurana |
| Lovkesh | NULL    |
| Piyush  | Kohli   |
| Rahul   | NULL    |
| Raman   | Kumar   |
| Sahil   | Bhalla |
+---------+---------+
9 rows in set (0.00 sec)

唯一の違いは、GROUP BY句を使用したMySQLクエリによって返される結果セットが並べ替えられ、対照的に、DISTICT句を使用したMySQLクエリによって返される結果セットが並べ替えられないことです。


  1. MySQLLIKE句を使用して「Joh」で始まる複数の値をフェッチする方法

    まずテーブルを作成しましょう- mysql> create table DemoTable (    Name varchar(40) ); Query OK, 0 rows affected (0.55 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values('Sam'

  2. MySQL WHERE句を使用して複数の値をフェッチできますか?

    はい、フェッチできますが、条件にはMySQLORを使用します。まず、-を作成しましょう mysql> create table DemoTable1421    -> (    -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> EmployeeName varchar(20),    -> EmployeeSalary int    -> ); Query OK, 0 rows affec