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

Hiển thị giá trị cột 2 lần trong SELECT MySQL với CONCAT()

Để 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 + '~' + Value
  • GROUP 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.