MySQL實現字段分割一行轉多行的示例代碼

 更新時間:2022年07月06日 10:28:08   作者:Jame!  
這篇文章主要介紹了MySQL實現字段分割一行轉多行的示例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

先看一下數據結構,我這里字段比較少,只弄了最重要的部分

在這里插入圖片描述

在這里插入圖片描述

根據我們上次學到的LEFT()函數進行分組

SELECT LEFT(provinces,6),COUNT(1) FROM `region_map_copy` GROUP BY LEFT(provinces,6)

得到的結果如下:

在這里插入圖片描述

這樣的效果并不是我們想要的,我們是要210000所有的都合并起來

使用SUBSTRING_INDEX(),LEFT()這兩個函數,在加help_topic這個表

help_topic:以字符拆分,一行轉多行

SELECT
 COUNT(*),
  SUBSTRING_INDEX( SUBSTRING_INDEX( a.provinces, ',', b.help_topic_id + 1 ), ',',- 1 ) AS ids 
 FROM
 `region_map_copy` AS a
 JOIN mysql.help_topic AS b ON b.help_topic_id < ( LENGTH( a.provinces ) - LENGTH( REPLACE ( a.provinces, ',', '' ) ) + 1 )
 GROUP BY (SUBSTRING_INDEX( SUBSTRING_INDEX( a.provinces, ',', b.help_topic_id + 1 ), ',',- 1 )  )

結果如下:

在這里插入圖片描述

得到了我們想要的

  • mysql 字段截取函數:
  • left(字段名,index) 從左邊開始第index開始截取
  • right(字段名,index)從右邊開始第index開始截取
  • substring(字段名,index)當index>0從左邊開始截取直到結束 當index<0從右邊開始截取直到結束 當index=0返回空
  • substring(字段名,index,len)從index開始,截取len長度
  • substring_index(字段名,str,count),str是截取的字段 count是從哪里開始截取(0從左邊第0個開始,-1從右邊第一個開始)

注意:這種方式不支持mariadb

補充:下面看下MySql數據庫表中字段用逗號分隔,字段進行條件查詢

select p.* from t_project_info p

select p.*
from t_project_info p
where ?FIND_IN_SET(6,p.thematic_library_ids)

 

到此這篇關于MySQL實現字段分割(一行轉多行)的文章就介紹到這了,更多相關mysql字段分割內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • CentOS Mysql數據庫如何實現定時備份

    CentOS Mysql數據庫如何實現定時備份

    這篇文章主要介紹了CentOS Mysql數據庫如何實現定時備份,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • mysql不能啟動報error2013錯誤的多種解決方案

    mysql不能啟動報error2013錯誤的多種解決方案

    這篇文章主要介紹了mysql不能啟動報error2013錯誤的多種解決方案,需要的朋友可以參考下
    2014-07-07
  • MySQL EXPLAIN語句的使用示例

    MySQL EXPLAIN語句的使用示例

    這篇文章主要介紹了MySQL EXPLAIN語句的使用示例,幫助大家更好的理解和學習使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • 詳解mysql 使用left join添加where條件的問題分析

    詳解mysql 使用left join添加where條件的問題分析

    這篇文章主要介紹了詳解mysql 使用left join添加where條件的問題分析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • MySQL分區之KEY分區詳解

    MySQL分區之KEY分區詳解

    按照key進行分區非常類似于按照hash進行分區,只不過hash分區允許使用用戶自定義的表達式,下面這篇文章主要給大家介紹了關于MySQL分區之KEY分區的相關資料,需要的朋友可以參考下
    2022-04-04
  • MySQL數據庫實驗之?觸發器和存儲過程

    MySQL數據庫實驗之?觸發器和存儲過程

    這篇文章主要介紹了MySQL數據庫實驗之?觸發器和存儲過程,通過掌握某主流DBMS支持的SQL編程語言和編程規范,規范設計存儲過程展開詳細介紹,感興趣的朋友可以參考一下
    2022-06-06
  • MySQL中讀頁緩沖區buffer?pool詳解

    MySQL中讀頁緩沖區buffer?pool詳解

    這篇文章主要介紹了MySQL中讀頁緩沖區buffer?pool?,從磁盤中讀取數據到內存的過程是十分慢的,所以我們讀取的頁面需要將其緩存起來,所以MySQL有這個buffer pool對頁面進行緩存,需要的朋友可以參考下
    2022-05-05
  • MySQL查詢和修改auto_increment的方法

    MySQL查詢和修改auto_increment的方法

    這篇文章主要介紹了MySQL查詢和修改auto_increment的方法,實例分析了select查詢auto_increment及ALTER修改auto_increment的技巧,需要的朋友可以參考下
    2015-02-02
  • MySQL數據庫基礎命令大全(收藏)

    MySQL數據庫基礎命令大全(收藏)

    今天小編給大家整理一下mysql數據庫的基礎命令,特此分享到腳本之家平臺,供大家參考下
    2016-12-12
  • 一文搞懂MySQL預編譯

    一文搞懂MySQL預編譯

    這篇文章主要介紹了MySQL預編譯的相關資料,文中講解非常詳細,示例代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07

最新評論

美丽人妻被按摩中出中文字幕