最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql中GROUP_CONCAT函數(shù)使用技巧及問題詳解

 更新時間:2023年11月02日 08:53:08   作者:肖碼哥  
這篇文章主要給大家介紹了關(guān)于mysql中GROUP_CONCAT函數(shù)使用技巧及問題的相關(guān)資料,GROUP_CONCAT是MySQL中的一個聚合函數(shù),它用于將多行數(shù)據(jù)按照指定的順序連接成一個字符串并返回結(jié)果,需要的朋友可以參考下

概要

` group_concat函數(shù)是mysql中非常實用的函數(shù),它可以將同一個分組下的行拼接在一起。其完整語法:

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

使用技巧

1. 建表、插入數(shù)據(jù)

#建表語句
CREATE TABLE `test_group_concat` (
  `id` int(11) NOT NULL COMMENT 'id',
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
#插入測試數(shù)據(jù)
INSERT INTO `test`.`test_group_concat` (`id`, `age`) VALUES (1, 20);
INSERT INTO `test`.`test_group_concat` (`id`, `age`) VALUES (1, 20);
INSERT INTO `test`.`test_group_concat` (`id`, `age`) VALUES (1, 10);
INSERT INTO `test`.`test_group_concat` (`id`, `age`) VALUES (3, 30);
INSERT INTO `test`.`test_group_concat` (`id`, `age`) VALUES (3, 40);
INSERT INTO `test`.`test_group_concat` (`id`, `age`) VALUES (3, 40);
INSERT INTO `test`.`test_group_concat` (`id`, `age`) VALUES (4, 50);
INSERT INTO `test`.`test_group_concat` (`id`, `age`) VALUES (4, 60);

#基本查詢
SELECT * FROM test_group_concat

2.以id分組,把age字段的值拼成一行,逗號分隔(默認)

select id,group_concat(age) from test_group_concat group by id;

3.以id分組,把age字段的值拼成 一行,分號分隔

select id,group_concat(age separator ';') from test_group_concat group by id;

4.以id分組,把去冗余的age字段的值打印在一行

select id,group_concat(distinct age) from test_group_concat group by id;

5.以id分組,把age字段的值打印在一行,逗號分隔,以age排倒序

select id,group_concat(age order by age desc) from test_group_concat group by id; 

發(fā)現(xiàn)問題

在項目用到如下sql

SELECT
	GROUP_CONCAT( c.goods_detail_id ) 
FROM
	air_out_order a
	LEFT JOIN air_out_order_detail b ON b.order_id = a.id
	LEFT JOIN air_out_good_record c ON c.order_detail_id = b.id; 

查詢結(jié)果:

713278402284617792,722329309878140931,722329309878140949,722329309878140973,722329309878140939,715342356376936480,715342356376936482,715342356381130806,715342356376936484,715342356381130810,713278240841662516,713278240841662476,713278240841662520,715342356381130876,715342356381130940,715342356385325066,715342356385325132,715342356385325196,715342356385325260,715342356376936526,715342356381130812,715342356381130890,715342356381130964,744788201669005316,744788201669005380,744788201673199622,744788201669005330,744788201669005394,744788201752891404,744788201664811012,744788201669005344,744788201669005408,744788201752891418,744788201669005338,744788201669005410,744788201664811016,744788201669005354,744788201669005424,744788201664811030,744788201669005368,744788201673199616,744788201752891400,744788201669005312,745061736895352916,745061736891158544,745061736895352852,745061736895352930,745061736891158558,745061736895352866,745061736895352944,745061736891158572,745061736895352880,745061736895352958,74506173689115858

而實際上

SELECT
c.goods_detail_id
FROM
	air_out_order a
	LEFT JOIN air_out_order_detail b ON b.order_id = a.id
	LEFT JOIN air_out_good_record c ON c.order_detail_id = b.id;

的查詢結(jié)果為:

713278402284617792
722329309878140931,722329309878140949,722329309878140973,722329309878140939
715342356376936480
715342356376936482
715342356381130806
715342356376936484
715342356381130810
713278240841662516
713278240841662476
713278240841662520
715342356381130876,715342356381130940,715342356385325066,715342356385325132,715342356385325196,715342356385325260,715342356376936526,715342356381130812,715342356381130890,715342356381130964
744788201669005316,744788201669005380,744788201673199622,744788201669005330,744788201669005394,744788201752891404,744788201664811012,744788201669005344,744788201669005408,744788201752891418
744788201669005338,744788201669005410,744788201664811016,744788201669005354,744788201669005424,744788201664811030,744788201669005368,744788201673199616,744788201752891400,744788201669005312
745061736895352916,745061736891158544,745061736895352852,745061736895352930,745061736891158558,745061736895352866,745061736895352944,745061736891158572,745061736895352880,745061736895352958,745061736891158586,745061736895352894,745061736891158536,745061736895352844,745061736895352908,745061736895352922,745061736891158550,745061736895352858,745061736895352936,745061736891158564,745061736895352872,745061736895352950,745061736891158578,745061736895352886,745061736895352964,745061736891158528,745061736895352836,745061736895352900,745061736895352914,745061736891158542
744788201669005318,744788201669005396,744788201669005334,744788201669005414,744788201669005352,744788201669005430,744788201664811022,744788201669005370,744788201752891394,744788201664811038
744788201664811020,744788201669005382,744788201752891416,744788201664811040,744788201669005400,744788201669005328,744788201669005420,744788201669005350,744788201673199618,744788201664811008
746171271546650637
746171271550844964
745061736895352842,745061736895352934,745061736895352862,745061736895352954,745061736891158548,745061736895352882,745061736891158568,745061736895352902,745061736895352832,745061736895352924
747357984740646912,747357984912613376,747357984782589952,747357984824532992,747357984652566528
747357984778395648
747357984753229824
745898989121159210,745898989108576268,745898989125353485,745898989116964869,745898989121159170,745898989121159184
745898989112770564,745898989121159168,745898989121159186,745898989121159202,745898989108576272,745898989125353481
745898989108576274,745898989116964877,745898989121159182,745898989121159206,745898989108576258,745898989116964865
745898989116964879
745898989112770562
745898989116964871,745898989121159180,745898989121159208,745898989108576260,745898989121159172,745898989121159194
745898989121159188,745898989125353477,745898989116964875,745898989121159198,745898989108576264,745898989121159178
747357984694509568,747357984904224768,747357984749035520,747357984807755776,747357984849698816,747357984644177920,747357984883253248,747357984715481088,747357984770007040,747357984828727296
747357984707092480,747357984795172864,747357984853893120,747357984895836160,747357984665149440,747357984736452608,747357984820338688,747357984866476032,747357984509960192,747357984916807680
745898989121159196
745898989121159200
762832940033040386
715342356385325082

要多得多,出現(xiàn)group_concat把數(shù)據(jù)給截斷了,什么原因呢?

解決問題

由于group_concat有長度限制,默認1024個字符,

所以解決的辦法也就是將group_concat有長度限制設(shè)置足夠大即可。

1)臨時解決方案:

在命令行運行

SET SESSION group_concat_max_len = 18446744073709551615;
set global max_allowed_packet = 2*1024*1024*10;

2)永久解決方案:

首先找到mysql的配置文件,設(shè)置如下配置

max_allowed_packet = 20M
group_concat_max_len = 18446744073709551615

總結(jié)

到此這篇關(guān)于mysql中GROUP_CONCAT函數(shù)使用技巧及問題詳解的文章就介紹到這了,更多相關(guān)mysql GROUP_CONCAT函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL之存儲函數(shù)詳細介紹

    MySQL之存儲函數(shù)詳細介紹

    大家好,本篇文章主要講的是MySQL之存儲函數(shù)詳細介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • MySQL中CHAR與VARCHAR類型舉例解析

    MySQL中CHAR與VARCHAR類型舉例解析

    在MySQL數(shù)據(jù)庫中CHAR和VARCHAR是兩種常見的字符串?dāng)?shù)據(jù)類型,它們在存儲和處理方式上有著顯著的區(qū)別,這篇文章主要介紹了MySQL中CHAR與VARCHAR類型的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-11-11
  • MySQL最左匹配原則深入分析

    MySQL最左匹配原則深入分析

    首先回顧一下什么是最左匹配(也有稱之為最左前綴)?顧名思義:最左優(yōu)先,以最左邊的為起點任何連續(xù)的索引都能匹配上。同時遇到范圍查詢(>、<、between、like)就會停止匹配
    2022-11-11
  • mysql蠕蟲復(fù)制基礎(chǔ)知識點

    mysql蠕蟲復(fù)制基礎(chǔ)知識點

    在本篇內(nèi)容中我們給大家分享了關(guān)于mysql蠕蟲復(fù)制基礎(chǔ)知識點,對此有需要的朋友們跟著學(xué)習(xí)下吧。
    2019-02-02
  • 深度解析MySQL存儲引擎與索引

    深度解析MySQL存儲引擎與索引

    本文全面解析了MySQL數(shù)據(jù)庫的核心知識體系,包括存儲引擎、索引優(yōu)化、SQL優(yōu)化、視圖與存儲過程、鎖機制以及InnoDB引擎原理等關(guān)鍵內(nèi)容,感興趣的朋友跟隨小編一起看看吧
    2026-05-05
  • SQL?PRIMARY?KEY唯一標識表中記錄的關(guān)鍵約束語句

    SQL?PRIMARY?KEY唯一標識表中記錄的關(guān)鍵約束語句

    這篇文章主要為大家介紹了SQL?PRIMARY?KEY唯一標識表中記錄的關(guān)鍵約束語句詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • MySQL是如何處理排序的(最新推薦)

    MySQL是如何處理排序的(最新推薦)

    在MySQL的查詢中常常會用到order by和group by這兩個關(guān)鍵字,它們的相同點是都會對字段進行排序,那查詢語句中的排序是如何實現(xiàn)的呢,下面跟隨小編一起看看吧
    2024-05-05
  • Mysql慢查詢?nèi)罩疚募D(zhuǎn)Excel的方法

    Mysql慢查詢?nèi)罩疚募D(zhuǎn)Excel的方法

    面對公司生產(chǎn)環(huán)境中慢SQL問題的排查工作,由于日志文件格式混亂,相關(guān)資料無法提供便捷的格式化處理工具,故而自主編寫一套Java讀取慢SQL日志轉(zhuǎn)為Excel的小工具,該工具可以有效提升排查工作的效率,方便快捷地解決問題
    2024-10-10
  • MySql Online DDL操作記錄詳解

    MySql Online DDL操作記錄詳解

    這篇文章主要為大家介紹了MySql Online DDL操作記錄詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Mysql表的約束超詳細講解

    Mysql表的約束超詳細講解

    MySQL唯一約束(Unique Key)是指所有記錄中字段的值不能重復(fù)出現(xiàn)。例如,為 id 字段加上唯一性約束后,每條記錄的 id 值都是唯一的,不能出現(xiàn)重復(fù)的情況
    2022-09-09

最新評論

杭锦旗| 涞源县| 尤溪县| 同江市| 阿拉尔市| 资阳市| 含山县| 保山市| 合川市| 沙河市| 大庆市| 进贤县| 靖江市| 云林县| 抚远县| 那曲县| 兰考县| 京山县| 茌平县| 乐陵市| 宁德市| 五峰| 合作市| 三亚市| 许昌县| 泰和县| 三原县| 永福县| 汝城县| 和静县| 拉孜县| 齐河县| 祁连县| 阿巴嘎旗| 化德县| 原阳县| 阳高县| 陇川县| 武城县| 平江县| 根河市|