MySql采用GROUP_CONCAT合并多條數(shù)據(jù)顯示的方法
本文實例講述了MySql采用GROUP_CONCAT合并多條數(shù)據(jù)顯示的方法,分享給大家供大家參考。具體實現(xiàn)方法如下:
假設(shè)有這樣一個需求:
1:班級表:
id class_name
2:學(xué)生表:
id name class_id
如果我們要查所有的班級以及每個班級下的學(xué)生,你一定會想到這樣寫法:
banji.*, user.name
FROM `banji`
left join user
on banji.id=user.`class`
where banji.id=2
這樣我們得到的結(jié)果的個數(shù)是和學(xué)生人數(shù)相同的,而我希望得到的就是一條數(shù)據(jù),而這條數(shù)據(jù)中還要包含所有學(xué)生,可以這樣寫:
banji.*, GROUP_CONCAT(user.name) as names
FROM `banji`
left join user
on banji.id=user.`class`
where banji.id=2
這樣就只得到一條結(jié)果了,而結(jié)果中包含所有的學(xué)生name,
id | class_name | names |
2 | 二 | lisi,zhaoliu,liu,小二,xiaoming,小張 |
還可以自定義分隔符:
banji.*, GROUP_CONCAT(user.name SEPARATOR "|") as names
FROM `banji`
left join user
on banji.id=user.`class`
where banji.id=2
得到的結(jié)果:
id | class_name | names |
2 | 二 | lisi|zhaoliu|liu|小二|xiaoming|小張 |
二 希望本文所述對大家的MySQL數(shù)據(jù)庫程序設(shè)計有所幫助。
相關(guān)文章
深入mysql創(chuàng)建自定義函數(shù)與存儲過程的詳解
本篇文章是對mysql創(chuàng)建自定義函數(shù)與存儲過程進行了詳細的分析介紹,需要的朋友參考下2013-06-06關(guān)于MySQL與Golan分布式事務(wù)經(jīng)典的七種解決方案
本文介紹了分布式事務(wù)的一些基礎(chǔ)理論,并對常用的分布式事務(wù)方案進行了講解;在文章的后半部分還給出了事務(wù)異常的原因、分類以及優(yōu)雅的解決方案;最后以一個可運行的分布式事務(wù)例子,將前面介紹的內(nèi)容以簡短的程序進行演示,需要的朋友可以參考一下文章具體內(nèi)容2021-10-10安裝配置mysql及Navicat prenium的詳細流程
這篇文章主要介紹了安裝配置mysql及Navicat Premium的詳細流程,配置方法也真的很簡單,本文給大家詳細介紹mysql Navicat Premium安裝配置相關(guān)知識感興趣的朋友,一起學(xué)習(xí)吧2021-06-06MySQL中使用or、in與union all在查詢命令下的效率對比
這篇文章主要介紹了MySQL中使用or、in與union all在查詢命令下的效率對比,論證了在通常情況下union all并不一定比or及in更快,需要的朋友可以參考下2015-11-11MySql使用存儲過程進行單表數(shù)據(jù)遷移的實現(xiàn)
近期在進行業(yè)務(wù)解耦,對冗余在一起切又屬于不同業(yè)務(wù)的代碼進行分離,同時也將數(shù)據(jù)庫進行分離存儲,那么這時候就涉及到多個表的數(shù)據(jù)要進行遷移,本文就來介紹一下MySql使用存儲過程進行單表數(shù)據(jù)遷移,感興趣的可以了解一下2023-11-11