mysql單字段多值分割和合并的處理方法
多個值合并展示
現(xiàn)在我們有如圖一到圖二的需求


怎么做?
如下sql:
SELECT id,GROUP_CONCAT(DISTINCT str) as str from test GROUP BY id
相關(guān)知識點
GROUP_CONCAT
GROUP_CONCAT([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符'])
多個值拆分展示
現(xiàn)在我們的需求和第一個例子相反
由圖三

到圖四

這里就稍微復(fù)雜了,首先對于str提前做了如圖的處理,即字符+','的一對一對應(yīng)處理,其次,因為mysql沒有序列功能,所以我們需要提前準備一張序列表,最大id應(yīng)該大于單個字段內(nèi)最大項數(shù)

具體sql如下:
SELECT t.id,SUBSTRING_INDEX(SUBSTRING_INDEX(str,',',s.id),',',-1) as str from test2 t join sequence s on s.id<(LENGTH(t.str)/2+1) ORDER BY t.id
相關(guān)知識點
SUBSTRING_INDEX(str,delim,count)
SUBSTRING_INDEX(要處理的字符串,分隔符,計數(shù))
如果count是正數(shù),那么就是從左往右數(shù),第N個分隔符的左邊的全部內(nèi)容
如果是負數(shù),那么就是從右邊開始數(shù),第N個分隔符右邊的所有內(nèi)容
總結(jié)
到此這篇關(guān)于mysql單字段多值分割和合并處理的文章就介紹到這了,更多相關(guān)mysql單字段多值分割和合并內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA無法連接mysql數(shù)據(jù)庫的6種解決方法大全
這篇文章主要介紹了IDEA無法連接mysql數(shù)據(jù)庫的6種解決方法大全,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
MySQL可重復(fù)讀隔離級別下開啟事務(wù)的問題解決
本文主要介紹了MySQL可重復(fù)讀隔離級別下開啟事務(wù)的問題解決,詳解在Repeatable?Read隔離級別下,mysql的快照生成時機的問題,感興趣的可以了解一下2024-07-07
MySQL獲取binlog的開始時間和結(jié)束時間(最新方法)
這篇文章主要介紹了MySQL如何獲取binlog的開始時間和結(jié)束時間,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05
基于MySQL數(shù)據(jù)庫復(fù)制Master-Slave架構(gòu)的分析
本篇文章是對MySQL數(shù)據(jù)庫復(fù)制Master-Slave架構(gòu)進行了詳細的分析介紹,需要的朋友參考下2013-06-06
mysql 常用數(shù)據(jù)庫語句 小練習(xí)
一個mysql小練習(xí) 建表 查詢 修改表 增加字段 刪除字段2009-07-07

