MySql采用GROUP_CONCAT合并多條數(shù)據(jù)顯示的方法
本文實(shí)例講述了MySql采用GROUP_CONCAT合并多條數(shù)據(jù)顯示的方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
假設(shè)有這樣一個(gè)需求:
1:班級(jí)表:
id class_name
2:學(xué)生表:
id name class_id
如果我們要查所有的班級(jí)以及每個(gè)班級(jí)下的學(xué)生,你一定會(huì)想到這樣寫法:
banji.*, user.name
FROM `banji`
left join user
on banji.id=user.`class`
where banji.id=2
這樣我們得到的結(jié)果的個(gè)數(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|小張 |
二 希望本文所述對(duì)大家的MySQL數(shù)據(jù)庫(kù)程序設(shè)計(jì)有所幫助。
相關(guān)文章
Mysql中undo、redo與binlog的區(qū)別淺析
大家應(yīng)該都知道日志系統(tǒng)主要有redo log(重做日志)和binlog(歸檔日志),下面這篇文章主要給大家介紹了關(guān)于Mysql中undo、redo與binlog區(qū)別的相關(guān)資料,需要的朋友可以參考下2021-09-09
MySQL壓力測(cè)試方法 如何使用mysqlslap測(cè)試MySQL的壓力?
生產(chǎn)服務(wù)器用LANMP組合和用LAMP組合有段時(shí)間了,總體來說都很穩(wěn)定。但出現(xiàn)過幾次因?yàn)镸YSQL并發(fā)太多而掛掉,一直想對(duì)MYSQL做壓力測(cè)試。剛看到一篇介紹MYSQL壓力測(cè)試的文章,確實(shí)不錯(cuò),先收藏先吧2016-05-05
MySQL?InnoDB?undo?log數(shù)據(jù)結(jié)構(gòu)用法詳解
InnoDB的undolog用于事務(wù)回滾與MVCC,存于共享/獨(dú)立表空間,包含insert和update兩種類型,通過參數(shù)配置,由purge線程清理2025-07-07
Mysql存儲(chǔ)過程中游標(biāo)的用法實(shí)例
這篇文章主要介紹了Mysql存儲(chǔ)過程中游標(biāo)的用法,以商戶關(guān)聯(lián)數(shù)據(jù)的插入及更新為例分析了MySQL存儲(chǔ)過程中游標(biāo)的使用技巧,需要的朋友可以參考下2015-07-07
MySql如何將查詢的出來的字段進(jìn)行轉(zhuǎn)換
這篇文章主要介紹了MySql如何將查詢的出來的字段進(jìn)行轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
CentOs7安裝部署Sonar環(huán)境的詳細(xì)過程(JDK1.8+MySql5.7+sonarqube7.8)
這篇文章主要介紹了CentOs7安裝部署Sonar環(huán)境(JDK1.8+MySql5.7+sonarqube7.8),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06

