本文實例講述了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,
還可以自定義分隔符:
復制代碼 代碼如下: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數據庫程序設計有所幫助。