Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Hiển thị hai cột từ hai bảng khác nhau với ORDER BY trong MySQL

Sử dụng UNION kết hợp ORDER BY. Tạo bảng 1:

mysql> CREATE TABLE DemoTable1 (
    Amount INT
); Query OK, 0 rows affected (0.63 sec)

Chèn dữ liệu:

mysql> INSERT INTO DemoTable1 VALUES(234); Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable1 VALUES(567); Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable1 VALUES(134); Query OK, 1 row affected (0.43 sec)

Tạo bảng 2:

mysql> CREATE TABLE DemoTable2 (
    Price INT
); Query OK, 0 rows affected (0.73 sec)

Chèn dữ liệu:

mysql> INSERT INTO DemoTable2 VALUES(134); Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable2 VALUES(775); Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable2 VALUES(121); Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DemoTable2 VALUES(882); Query OK, 1 row affected (0.09 sec)

Truy vấn gộp hai cột, loại trùng lặp (DISTINCT ngầm trong UNION), sắp xếp:

mysql> SELECT DISTINCT Amount FROM DemoTable1 
UNION 
SELECT DISTINCT Price FROM DemoTable2 
ORDER BY Amount;

Kết quả:

+--------+
| Amount |
+--------+
| 121    |
| 134    |
| 234    |
| 567    |
| 775    |
| 882    |
+--------+
6 rows in set (0.00 sec)

Lưu ý: UNION mặc định loại trùng lặp. Dùng UNION ALL nếu muốn giữ trùng lặp.