Để hiển thị giá trị một cột hai lần (hoặc ghép với chính nó) trong kết quả SELECT, bạn dùng hàm CONCAT().
Ví dụ minh họa
Tạo bảng:
mysql> create table DemoTable (
Value int
);
Chèn dữ liệu:
mysql> insert into DemoTable values(100); mysql> insert into DemoTable values(200); mysql> insert into DemoTable values(100); mysql> insert into DemoTable values(200); mysql> insert into DemoTable values(200); mysql> insert into DemoTable values(100);
Hiển thị dữ liệu gốc (6 hàng):
mysql> select * from DemoTable;
Kết quả:
+-------+ | Value | +-------+ | 100 | | 200 | | 100 | | 200 | | 200 | | 100 | +-------+
Truy vấn CONCAT hiển thị giá trị 2 lần phân cách ~
mysql> select concat(Value,'~',Value) from DemoTable group by Value;
Kết quả (2 hàng distinct Value):
+-------------------------+ | concat(Value,'~',Value) | +-------------------------+ | 100~100 | | 200~200 | +-------------------------+
Giải thích:
CONCAT(Value, '~', Value): Nối Value + '~' + ValueGROUP BY Value: Gom nhóm giá trị trùng lặp → chỉ 2 hàng kết quả (100 và 200)- Nếu không GROUP BY: Sẽ có 6 hàng, mỗi hàng hiển thị "100~100" hoặc "200~200"
Ứng dụng: Tạo key ghép, hiển thị label "ID - ID", format xuất file, tạo slug, v.v.