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

Làm cách nào để chọn giá trị khác biệt chỉ từ một cột MySQL?

Để chọn giá trị riêng biệt chỉ từ một cột, bạn có thể sử dụng hàm tổng hợp MAX () cùng với GROUP BY. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table distinctFromOneColumn
   -> (
   -> StudentId int,
   -> StudentName varchar(100)
   -> );
Query OK, 0 rows affected (0.77 sec)

Sau đây là truy vấn để chèn các bản ghi trong bảng bằng cách sử dụng lệnh insert -

mysql> insert into distinctFromOneColumn values(1001,'John');
Query OK, 1 row affected (0.15 sec)

mysql> insert into distinctFromOneColumn values(1002,'Carol');
Query OK, 1 row affected (0.15 sec)

mysql> insert into distinctFromOneColumn values(1001,'Sam');
Query OK, 1 row affected (0.15 sec)

mysql> insert into distinctFromOneColumn values(1001,'David');
Query OK, 1 row affected (0.16 sec)

mysql> insert into distinctFromOneColumn values(1002,'Ramit');
Query OK, 1 row affected (0.15 sec)

mysql> insert into distinctFromOneColumn values(1003,'Bob');
Query OK, 1 row affected (0.21 sec)

Sau đây là truy vấn để hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select * from distinctFromOneColumn;

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

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1001      | John        |
| 1002      | Carol       |
| 1001      | Sam         |
| 1001      | David       |
| 1002      | Ramit       |
| 1003      | Bob         |
+-----------+-------------+
6 rows in set (0.00 sec)

Đây là truy vấn để chọn một giá trị riêng biệt chỉ từ một cột -

mysql> select StudentId,MAX(StudentName) AS StudentName
   -> from distinctFromOneColumn
   -> group by StudentId;

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

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1001      | Sam         |
| 1002      | Ramit       |
| 1003      | Bob         |
+-----------+-------------+
3 rows in set (0.00 sec)