Để 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' UNIONtự động loại bỏ trùng lặp nên 'Robert' và 'David' từ bảng không bị lặp lạiSELECT DISTINCTlấ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.