欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL實現(xiàn)用逗號進行拼接、以逗號進行分割

 更新時間:2022年12月22日 16:45:06   作者:何玉先先  
這篇文章主要介紹了MySQL實現(xiàn)用逗號進行拼接、以逗號進行分割問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MySQL用逗號進行拼接、以逗號進行分割

MySQL中,把查詢的結(jié)果拼接成一個字符串。

group_concat 函數(shù)

用法:group_concat (待拼接對象)

輸出:用逗號進行拼接后的字符串

例子:

select group_concat(emp_no) as employees from dept_emp;
?
/*
結(jié)果:
employees ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
+-------------------------------------------------------------------+
| 10001,10002,10003,10004,10005,10006,10007,10008,10009,10010,10010 |
+-------------------------------------------------------------------+
*/

可以使用MySQL中的字符串拆分函數(shù)實現(xiàn):

substring_index(str,delim,count)

說明:str: 被分割的字符串; delim: 分隔符; count: 分割符出現(xiàn)的次數(shù)

例子:

對于字符串 “209755,209756,209757” ,設(shè)置delim為 “,”,count為1,就會返回 “209755”;

其它參數(shù)不變,count為2,就會返回 “209755,209756”;其它參數(shù)不變,count為-1,就會返回 “209757”。

select colnum_name
,(select substring_index(substring_index(bill_ids,',',1),',',-1)) as bill_id1
,(select substring_index(substring_index(bill_ids,',',2),',',-1)) as bill_id2
,(select substring_index(substring_index(bill_ids,',',3),',',-1)) as bill_id3
from table_name;

若不知道要分割的字段究竟有幾個值(如可能某些行就1個值,某些有6個),可以考慮根據(jù)具有最多值的數(shù)量來選擇使用多少條

(select substring_index(substring_index(bill_ids,’,’,第幾個值),’,’,-1))語句,但是會有問題(待解決)

例子:

原表
1
2,3,4
5,6
分割的結(jié)果
111
234
566

MySQL多行數(shù)據(jù)用逗號拼接返回一行

解決方案

先說解決辦法,這里使用的是 GROUP_CONCAT 函數(shù),先來實例:

SELECT GROUP_CONCAT( `name` SEPARATOR ',' ) FROM uim_user?

這樣返回的多行數(shù)據(jù)會合并成一行,并且用逗號分割返回.

GROUP_CONCAT簡單闡述

使用語法:

group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

一般與group by 分組一起使用,如果不分組默認返回一行

而分組后會把相同分組類型的數(shù)據(jù)返回一行,并且可使用分割符號分割,去重,排序等操作

簡單實例:

這里是按照部門分組,這樣同一個部門的人會返回一行并且用逗號分割

SELECT group_concat( distinct(name) SEPARATOR ',' ) name FROM uim_user group by dept_id

ps:開發(fā)中會有很多種需要合并結(jié)果集的情況,比如要查詢小明這個同學所有科目分數(shù)返回一行,這樣使用來達到返回數(shù)據(jù)的要求。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql數(shù)據(jù)庫詳解(基于ubuntu 14.0.4 LTS 64位)

    mysql數(shù)據(jù)庫詳解(基于ubuntu 14.0.4 LTS 64位)

    這篇文章主要介紹了mysql數(shù)據(jù)庫詳解(基于ubuntu 14.0.4 LTS 64位),具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • windows2008 64位系統(tǒng)下MySQL 5.7綠色版的安裝教程

    windows2008 64位系統(tǒng)下MySQL 5.7綠色版的安裝教程

    這篇文章主要給大家分享了在windows2008 64位系統(tǒng)下MySQL 5.7綠色版的安裝教程,文中將安裝步驟介紹的非常詳細,相信會對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • MySQL壓縮版zip安裝問題的解決方法

    MySQL壓縮版zip安裝問題的解決方法

    這篇文章主要給大家介紹了關(guān)于MySQL壓縮版zip安裝問題的解決方法,文中介紹的非常詳細,對大家的學習或者使用mysql具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • mysql經(jīng)典4張表問題詳細講解

    mysql經(jīng)典4張表問題詳細講解

    MySQL是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),可以通過連接不同的表將數(shù)據(jù)進行關(guān)聯(lián)查詢,下面這篇文章主要給大家介紹了關(guān)于mysql經(jīng)典4張表問題的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • MySQL如何改變表的存儲引擎方式

    MySQL如何改變表的存儲引擎方式

    這篇文章主要介紹了MySQL如何改變表的存儲引擎方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • MySQL批量插入和唯一索引問題的解決方法

    MySQL批量插入和唯一索引問題的解決方法

    這篇文章主要給大家介紹了關(guān)于MySQL批量插入和唯一索引問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用MySQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-04-04
  • MySql超詳細講解表的用法

    MySql超詳細講解表的用法

    這篇文章主要為大家詳細介紹了MySQL數(shù)據(jù)庫中表常用的一些操作方法,文中的示例代碼講解詳細, 對我們學習MySQL有一定幫助,需要的可以參考一下
    2022-09-09
  • sql獲取存儲過程返回數(shù)據(jù)過程解析

    sql獲取存儲過程返回數(shù)據(jù)過程解析

    這篇文章主要介紹了sql獲取存儲過程返回數(shù)據(jù)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • MySQL觸發(fā)器之判斷更新操作前后數(shù)據(jù)是否改變

    MySQL觸發(fā)器之判斷更新操作前后數(shù)據(jù)是否改變

    這篇文章主要介紹了MySQL觸發(fā)器之判斷更新操作前后數(shù)據(jù)是否改變方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 淺析mysql 共享表空間與獨享表空間以及他們之間的轉(zhuǎn)化

    淺析mysql 共享表空間與獨享表空間以及他們之間的轉(zhuǎn)化

    本篇文章是對mysql 共享表空間與獨享表空間以及他們之間的轉(zhuǎn)化進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06

最新評論