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

Hiển thị bản ghi cố định 2 giá trị đầu rồi DISTINCT các giá trị còn lại trong MySQL

Để hiển thị kết quả có 2 giá trị cố định ở đầu, sau đó là các giá trị distinct từ bảng, bạn có thể sử dụng UNION kết hợp với SELECT tĩnh và SELECT DISTINCT từ bảng.

Ví dụ minh họa

Tạo bảng:

mysql> create table DemoTable ( 
    FirstName varchar(100) 
);

Chèn dữ liệu:

mysql> insert into DemoTable values('Chris');
mysql> insert into DemoTable values('Robert');
mysql> insert into DemoTable values('Mike');
mysql> insert into DemoTable values('David');

Hiển thị dữ liệu gốc:

mysql> select * from DemoTable;

Kết quả:

+-----------+
| FirstName |
+-----------+
| Chris     |
| Robert    |
| Mike      |
| David     |
+-----------+

Truy vấn cố định 2 giá trị đầu

mysql> select 'Robert' AS FirstName 
UNION 
select 'David' AS FirstName 
UNION 
select DISTINCT(FirstName) AS FirstName from DemoTable;

Kết quả:

+-----------+
| FirstName |
+-----------+
| Robert    |
| David     |
| Chris     |
| Mike      |
+-----------+

Giải thích:

  • 2 câu SELECT đầu tiên tạo ra 2 hàng cố định: 'Robert' và 'David'
  • UNION tự động loại bỏ trùng lặp nên 'Robert' và 'David' từ bảng không bị lặp lại
  • SELECT DISTINCT lấy các tên còn lại không trùng với 2 giá trị cố định

Cách này hữu ích khi cần ưu tiên hiển thị một số giá trị cụ thể (như "Khác", "Tất cả", hoặc các danh mục ưu tiên) ở đầu danh sách.