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

Chọn các kết hợp riêng biệt từ hai cột trong MySQL?


Để chọn các kết hợp riêng biệt từ hai cột, bạn có thể sử dụng câu lệnh CASE. Hãy để chúng tôi tạo một bảng với một số cột.

Truy vấn để tạo bảng như sau -

mysql> create table select_DistinctTwoColumns
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> FirstValue char(1),
   -> SecondValue char(1),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.57 sec)

Bây giờ bạn có thể chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert. Truy vấn như sau -

mysql> insert into select_DistinctTwoColumns(FirstValue,SecondValue) values('s','t');
Query OK, 1 row affected (0.12 sec)

mysql> insert into select_DistinctTwoColumns(FirstValue,SecondValue) values('t','u');
Query OK, 1 row affected (0.24 sec)

mysql> insert into select_DistinctTwoColumns(FirstValue,SecondValue) values('u','v');
Query OK, 1 row affected (0.12 sec)

mysql> insert into select_DistinctTwoColumns(FirstValue,SecondValue) values('u','t');
Query OK, 1 row affected (0.16 sec)

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. Truy vấn như sau -

mysql> select *from select_DistinctTwoColumns;

Sau đây là kết quả -

+----+------------+-------------+
| Id | FirstValue | SecondValue |
+----+------------+-------------+
| 1  | s          | t          |
| 2  | t          | u          |
| 3  | u          | v          |
| 4  | u          | t          |
+----+------------+-------------+
4 rows in set (0.00 sec)

Đây là truy vấn để chọn các kết hợp riêng biệt từ hai cột bằng cách sử dụng câu lệnh viết hoa. Cột đầu tiên là ‘FirstValue’ và tên cột thứ hai là ‘SecondValue’. Truy vấn như sau -

mysql> SELECT distinct
   -> CASE
   ->    WHEN FirstValue<SecondValue THEN FirstValue
   ->    ELSE SecondValue
   ->    END AS FirstColumn,
   -> CASE
   ->    WHEN FirstValue > SecondValue THEN FirstValue
   ->    ELSE SecondValue
   ->    END AS SecondColumn
   -> FROM select_DistinctTwoColumns;

Sau đây là kết quả:

+-------------+--------------+
| FirstColumn | SecondColumn |
+-------------+--------------+
| s           | t            |
| t           | u            |
| u           | v            |
+-------------+--------------+
3 rows in set (0.00 sec)