程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySql采用GROUP_CONCAT合並多條數據顯示的方法

MySql采用GROUP_CONCAT合並多條數據顯示的方法

編輯:關於MYSQL數據庫

本文實例講述了MySql采用GROUP_CONCAT合並多條數據顯示的方法,分享給大家供大家參考。具體實現方法如下:

假設有這樣一個需求:
1:班級表:
id class_name
2:學生表:
id name class_id
 
如果我們要查所有的班級以及每個班級下的學生,你一定會想到這樣寫法:

復制代碼 代碼如下:SELECT
banji.*, user.name
FROM `banji`
left join user
on banji.id=user.`class`
where banji.id=2
這樣我們得到的結果的個數是和學生人數相同的,而我希望得到的就是一條數據,而這條數據中還要包含所有學生,可以這樣寫:

復制代碼 代碼如下:SELECT
banji.*, GROUP_CONCAT(user.name) as names
FROM `banji`
left join user
on banji.id=user.`class`
where banji.id=2
這樣就只得到一條結果了,而結果中包含所有的學生name,

id class_name  names 2 二  lisi,zhaoliu,liu,小二,xiaoming,小張

還可以自定義分隔符:

復制代碼 代碼如下:SELECT
banji.*, GROUP_CONCAT(user.name SEPARATOR "|") as names
FROM `banji`
left join user
on banji.id=user.`class`
where banji.id=2
得到的結果:

id class_name  names 2 二  lisi|zhaoliu|liu|小二|xiaoming|小張
 二  希望本文所述對大家的MySQL數據庫程序設計有所幫助。

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