程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql合並同一列的值

mysql合並同一列的值

編輯:MySQL綜合教程

mysql合並同一列的值


我有如下的查詢條件顯示:

\

我希望最終顯示的效果如圖:<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140712/2014071209025946.png" alt="\">

將id相同的group_name合並到一行。實現方法:在group_name前面加關鍵字group_concat.然後在sql語句最後加上group by id.

group_concat能將同一列的值以逗號分隔開,拼成一個字符串。(mysql自帶)

第一個圖的sql語句如下:

SELECT tr.id ,tig.group_name FROM tj_record tr
INNER JOIN tj_item_group_ex tige ON tr.id = tige.record_id
INNER JOIN tj_item_group tig ON tige.id = tig.id
WHERE tr.id IN ("1407090008','1407090009') AND tige.id IN ('27','31')


第二個圖的sql語句如下:

SELECT tr.id ,GROUP_CONCAT(tig.group_name) FROM tj_record tr
INNER JOIN tj_item_group_ex tige ON tr.id = tige.record_id
INNER JOIN tj_item_group tig ON tige.id = tig.id
WHERE tr.id IN ('1407090008','1407090009') AND tige.id IN ('27','31')

GROUP BY tr.id

紅色標紅的是差異部分。如果這樣的話就不再需要在後台一個一個的拼字符串了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved