1. 程式人生 > >MySql 查詢同一欄位多個結果合併到一行顯示 GROUP_CONCAT

MySql 查詢同一欄位多個結果合併到一行顯示 GROUP_CONCAT

先直接給出程式碼:

SELECT GROUP_CONCAT(tag) as tags
FROM table_tag tt 
WHERE tt.id in ('1','2')

我們實現合併一個欄位的多個結果用到了mysql 函式 GROUP_CONCAT,

現有一個表 table_a 他有一個標籤表 table_tag 結構如下:

1.表 table_a :


  • a_id:唯一標識
  • ……:其他無關欄位

2.表 table_tag:


  • t_id: 唯一標識
  • a_id: table_a 的唯一標識
  • tag
  • ……:其他無關欄位

一個標籤 table_tag 對應一個或多個 table_a

現在,要查詢 table_a 的資訊和它對應的table_tag 並將 tag 欄位合併到一起

SELECT a.*,
(SELECT GROUP_CONCAT(t.tag) FROM table_tag t WHERE t.a_id = a.a_id) as tags
FROM table_a where 1 LIMIT 10;

執行結果如下:
這裡寫圖片描述