MySQL將多條數(shù)據(jù)合并成一條的完整代碼示例
數(shù)據(jù)庫中存的是多條數(shù)據(jù),展示的時候需要合并成一條
數(shù)據(jù)表存儲形式如下圖

以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)在的需求就是每個id為一行 在前臺每行顯示該id所有分?jǐn)?shù)
group_concat 上場!!!
SELECT id,GROUP_CONCAT(score) FROM testgroup GROUP BY id

可以看到 根據(jù)id 分成了三行 并且分?jǐn)?shù)默認(rèn)用 逗號 分割 但是有每個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ù)以";"分割,每個字段以“,”分割
一個字段可能對應(yīng)多條數(shù)據(jù),用mysql實現(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ù)的;
' '中是你要用哪個符號來分隔;
2.必須要用GROUP BY 語句來進行分組管理,不然所有的數(shù)據(jù)都會被合并成一條記錄
總結(jié)
到此這篇關(guān)于MySQL將多條數(shù)據(jù)合并成一條的文章就介紹到這了,更多相關(guān)MySQL多條數(shù)據(jù)合并成一條內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL 性能優(yōu)化的最佳20多條經(jīng)驗分享
今天,數(shù)據(jù)庫的操作越來越成為整個應(yīng)用的性能瓶頸了,這點對于Web應(yīng)用尤其明顯。關(guān)于數(shù)據(jù)庫的性能,這并不只是DBA才需要擔(dān)心的事,而這更是我們程序員需要去關(guān)注的事情。2010-07-07
Windows版mysql?8.0.28?安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows版mysql?8.0.28?安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06
Windows8下mysql 5.6.15 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows8下mysql 5.6.15 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09
MySQL?數(shù)據(jù)庫整合攻略之表操作技巧與詳解
本文詳細(xì)介紹了MySQL數(shù)據(jù)庫中表的創(chuàng)建、查看、修改和刪除等操作技巧,感興趣的朋友一起看看吧2024-11-11
Idea 如何導(dǎo)入Mysql8.0驅(qū)動jar包
IDEA中的庫(Libraries)就是用來存放外部jar包,我們的項目或模塊需要某些jar包時,可以從這里把包導(dǎo)入到模塊依賴(Dependencies)中,本文給大家介紹Idea 如何導(dǎo)入Mysql8.0驅(qū)動jar包,感興趣的朋友一起看看吧2023-12-12

