MySQL將多條數(shù)據(jù)合并成一條的完整代碼示例
數(shù)據(jù)庫中存的是多條數(shù)據(jù),展示的時(shí)候需要合并成一條
數(shù)據(jù)表存儲(chǔ)形式如下圖
以type分組,type相同的算一條,且保留image和link的所有數(shù)據(jù),用groupBy只保留一條數(shù)據(jù)
解決方案:用GROUP_CONCAT
完整語法如下
group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
SELECT * FROM testgroup
表結(jié)構(gòu)與數(shù)據(jù)如上
現(xiàn)在的需求就是每個(gè)id為一行 在前臺(tái)每行顯示該id所有分?jǐn)?shù)
group_concat 上場!??!
SELECT id,GROUP_CONCAT(score) FROM testgroup GROUP BY id
可以看到 根據(jù)id 分成了三行 并且分?jǐn)?shù)默認(rèn)用 逗號(hào) 分割 但是有每個(gè)id有重復(fù)數(shù)據(jù) 接下來去重
SELECT id,GROUP_CONCAT(DISTINCT score) FROM testgroup GROUP BY id
排序
SELECT id,GROUP_CONCAT(score ORDER BY score DESC) FROM testgroup GROUP BY id
最后可以設(shè)置分隔符
SELECT id,GROUP_CONCAT(score SEPARATOR ';') FROM testgroup GROUP BY id
二、多字段如何處理
select id,name,GROUP_CONCAT(CONCAT_WS(',',type,typename) SEPARATOR ',') typelinks from demo GROUP BY id,name;
三、Laravel GROUP_CONCAT使用方法
DB::raw('GROUP_CONCAT(pp.sku SEPARATOR ",") sku')
具體代碼如下
$list = $this->ServiceModel->query()->where($where) ->groupBy('type') ->orderBy('update_time','desc') ->paginate($this->ServiceModel->pageSize, [ 'id',DB::raw('GROUP_CONCAT(CONCAT_WS(",",image,link) SEPARATOR ";") content'), 'type','modified_user_id','status','create_time','update_time' ], "page", $page); $total = $list->total(); $res = $list->items();
每條數(shù)據(jù)以";"分割,每個(gè)字段以“,”分割
一個(gè)字段可能對(duì)應(yīng)多條數(shù)據(jù),用mysql實(shí)現(xiàn)將多行數(shù)據(jù)合并成一行數(shù)據(jù)
SQL
select a.ep_classes 類型, GROUP_CONCAT(a.ep_name SEPARATOR ' : ') 姓名2 from Table_A a3 group by a.ep_classes
需注意:
1.GROUP_CONCAT()中的值為你要合并的數(shù)據(jù)的字段名;
SEPARATOR 函數(shù)是用來分隔這些要合并的數(shù)據(jù)的;
' '中是你要用哪個(gè)符號(hào)來分隔;
2.必須要用GROUP BY 語句來進(jìn)行分組管理,不然所有的數(shù)據(jù)都會(huì)被合并成一條記錄
總結(jié)
到此這篇關(guān)于MySQL將多條數(shù)據(jù)合并成一條的文章就介紹到這了,更多相關(guān)MySQL多條數(shù)據(jù)合并成一條內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL 性能優(yōu)化的最佳20多條經(jīng)驗(yàn)分享
今天,數(shù)據(jù)庫的操作越來越成為整個(gè)應(yīng)用的性能瓶頸了,這點(diǎn)對(duì)于Web應(yīng)用尤其明顯。關(guān)于數(shù)據(jù)庫的性能,這并不只是DBA才需要擔(dān)心的事,而這更是我們程序員需要去關(guān)注的事情。2010-07-07Windows版mysql?8.0.28?安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows版mysql?8.0.28?安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06Windows8下mysql 5.6.15 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows8下mysql 5.6.15 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09MySQL?數(shù)據(jù)庫整合攻略之表操作技巧與詳解
本文詳細(xì)介紹了MySQL數(shù)據(jù)庫中表的創(chuàng)建、查看、修改和刪除等操作技巧,感興趣的朋友一起看看吧2024-11-11Idea 如何導(dǎo)入Mysql8.0驅(qū)動(dòng)jar包
IDEA中的庫(Libraries)就是用來存放外部jar包,我們的項(xiàng)目或模塊需要某些jar包時(shí),可以從這里把包導(dǎo)入到模塊依賴(Dependencies)中,本文給大家介紹Idea 如何導(dǎo)入Mysql8.0驅(qū)動(dòng)jar包,感興趣的朋友一起看看吧2023-12-12