Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để chọn nhiều giá trị tối đa cũng sẽ là các giá trị trùng lặp trong MYSQL?

Đối với điều này, hãy sử dụng khái niệm nối. Trước tiên, hãy để chúng tôi tạo -

mysql> create table DemoTable1389
   -> (
   -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> StudentMarks int
   -> );
Query OK, 0 rows affected (2.73 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Tại đây, chúng tôi cũng đã chèn các giá trị trùng lặp -

mysql> insert into DemoTable1389(StudentMarks) values(40);
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable1389(StudentMarks) values(40);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1389(StudentMarks) values(68);
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable1389(StudentMarks) values(78);
Query OK, 1 row affected (0.43 sec)
mysql> insert into DemoTable1389(StudentMarks) values(97);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1389(StudentMarks) values(97);
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable1389(StudentMarks) values(97);
Query OK, 1 row affected (0.49 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from  DemoTable1389;

Điều này sẽ tạo ra kết quả sau -

+-----------+--------------+
| StudentId | StudentMarks |
+-----------+--------------+
|         1 |           40 |
|         2 |           40 |
|         3 |           68 |
|         4 |           78 |
|         5 |           97 |
|         6 |           97 |
|         7 |           97 |
+-----------+--------------+
7 rows in set (0.00 sec)

Sau đây là truy vấn để chọn nhiều giá trị tối đa -

mysql> select tbl.StudentId,tbl.StudentMarks from DemoTable1389 tbl
   -> join ( select max(StudentMarks) as MaxMarks from DemoTable1389) tbl1
   -> on tbl1.MaxMarks=tbl.StudentMarks;

Điều này sẽ tạo ra đầu ra sau đây hiển thị giá trị tối đa, với các bản sao -

+-----------+--------------+
| StudentId | StudentMarks |
+-----------+--------------+
|         5 |           97 |
|         6 |           97 |
|         7 |           97 |
+-----------+--------------+
3 rows in set (0.00 sec)