mysql單字段多值分割和合并的處理方法
多個(gè)值合并展示
現(xiàn)在我們有如圖一到圖二的需求
怎么做?
如下sql:
SELECT id,GROUP_CONCAT(DISTINCT str) as str from test GROUP BY id
相關(guān)知識(shí)點(diǎn)
GROUP_CONCAT
GROUP_CONCAT([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符'])
多個(gè)值拆分展示
現(xiàn)在我們的需求和第一個(gè)例子相反
由圖三
到圖四
這里就稍微復(fù)雜了,首先對(duì)于str提前做了如圖的處理,即字符+','的一對(duì)一對(duì)應(yīng)處理,其次,因?yàn)閙ysql沒(méi)有序列功能,所以我們需要提前準(zhǔn)備一張序列表,最大id應(yīng)該大于單個(gè)字段內(nèi)最大項(xiàng)數(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)知識(shí)點(diǎn)
SUBSTRING_INDEX(str,delim,count)
SUBSTRING_INDEX(要處理的字符串,分隔符,計(jì)數(shù))
如果count是正數(shù),那么就是從左往右數(shù),第N個(gè)分隔符的左邊的全部?jī)?nèi)容
如果是負(fù)數(shù),那么就是從右邊開(kāi)始數(shù),第N個(gè)分隔符右邊的所有內(nèi)容
總結(jié)
到此這篇關(guān)于mysql單字段多值分割和合并處理的文章就介紹到這了,更多相關(guān)mysql單字段多值分割和合并內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mysql查詢的時(shí)候給字段賦默認(rèn)值操作
- MySQL命令行中給表添加一個(gè)字段(字段名、是否為空、默認(rèn)值)
- MySQL表字段設(shè)置默認(rèn)值(圖文教程及注意細(xì)節(jié))
- mysql 多個(gè)字段拼接的實(shí)例詳解
- MySQL 8.0新特性之隱藏字段的深入講解
- 淺談Mysql哪些字段適合建立索引
- mysql update case 更新字段值不固定的操作
- mysql修改記錄時(shí)update操作 字段=字段+字符串
- 關(guān)于Mysql update修改多個(gè)字段and的語(yǔ)法問(wèn)題詳析
- MySQL 字段默認(rèn)值該如何設(shè)置
相關(guān)文章
IDEA無(wú)法連接mysql數(shù)據(jù)庫(kù)的6種解決方法大全
這篇文章主要介紹了IDEA無(wú)法連接mysql數(shù)據(jù)庫(kù)的6種解決方法大全,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11mysql中提高Order by語(yǔ)句查詢效率的兩個(gè)思路分析
在MySQL數(shù)據(jù)庫(kù)中,Order by語(yǔ)句的使用頻率是比較高的。但是眾所周知,在使用這個(gè)語(yǔ)句時(shí),往往會(huì)降低數(shù)據(jù)查詢的性能。2011-03-03MySQL可重復(fù)讀隔離級(jí)別下開(kāi)啟事務(wù)的問(wèn)題解決
本文主要介紹了MySQL可重復(fù)讀隔離級(jí)別下開(kāi)啟事務(wù)的問(wèn)題解決,詳解在Repeatable?Read隔離級(jí)別下,mysql的快照生成時(shí)機(jī)的問(wèn)題,感興趣的可以了解一下2024-07-07MySQL pt-slave-restart工具的使用簡(jiǎn)介
這篇文章主要介紹了MySQL pt-slave-restart工具的使用簡(jiǎn)介,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下2021-04-04MySQL獲取binlog的開(kāi)始時(shí)間和結(jié)束時(shí)間(最新方法)
這篇文章主要介紹了MySQL如何獲取binlog的開(kāi)始時(shí)間和結(jié)束時(shí)間,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05基于MySQL數(shù)據(jù)庫(kù)復(fù)制Master-Slave架構(gòu)的分析
本篇文章是對(duì)MySQL數(shù)據(jù)庫(kù)復(fù)制Master-Slave架構(gòu)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06mysql 常用數(shù)據(jù)庫(kù)語(yǔ)句 小練習(xí)
一個(gè)mysql小練習(xí) 建表 查詢 修改表 增加字段 刪除字段2009-07-07MySQL查看主從狀態(tài)的命令實(shí)現(xiàn)
本文主要介紹了MySQL查看主從狀態(tài)的命令實(shí)現(xiàn),我們可以使用SHOW SLAVE STATUS命令來(lái)查看主從狀態(tài),本文就來(lái)詳細(xì)的介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2023-10-10