国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

MySQL統(tǒng)計(jì)函數(shù)GROUP_CONCAT使用陷阱分析

2024-07-24 12:54:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例分析了MySQL統(tǒng)計(jì)函數(shù)GROUP_CONCAT使用中的陷阱。,具體如下:

最近在用MySQL做一些數(shù)據(jù)的預(yù)處理,經(jīng)常會(huì)用到group_concat函數(shù),比如類似下面一條語(yǔ)句

復(fù)制代碼 代碼如下:
mysql>select aid,group_concat(bid) from tbl group by aid limit 1;

sql語(yǔ)句比較簡(jiǎn)單,按照aid分組,并且把相應(yīng)的bid用逗號(hào)串起來(lái)。這樣的句子大家可能都用過(guò),也可能不會(huì)出問(wèn)題,但是如果bid非常多的話,你就要小心了,比如下面的提示信息:

Query OK, XXX rows affected, 1 warning (3 min 45.12 sec)

怎么會(huì)有警告呢,打出來(lái)看看:

mysql> show warnings;+---------+------+-----------------------------------------+| Level | Code | Message |+---------+------+-----------------------------------------+| Warning | 1260 | 1 line(s) were cut by GROUP_CONCAT() |+---------+------+-----------------------------------------+

居然被GROUP_CONCAT截?cái)嗔宋业慕Y(jié)果,查了一下手冊(cè),原來(lái)GROUP_CONCAT有個(gè)最大長(zhǎng)度的限制,超過(guò)最大長(zhǎng)度就會(huì)被截?cái)嗟簦憧梢酝ㄟ^(guò)下面的語(yǔ)句獲得:

mysql> SELECT @@global.group_concat_max_len;+-------------------------------+| @@global.group_concat_max_len |+-------------------------------+| 1024 |+-------------------------------+

1024這就是一般MySQL系統(tǒng)默認(rèn)的最大長(zhǎng)度,如果你的bid串起來(lái)大于這個(gè)就會(huì)出問(wèn)題,好在有解決的辦法:

1.在MySQL配置文件中加上

group_concat_max_len = 102400 #你要的最大長(zhǎng)度

2.可以簡(jiǎn)單一點(diǎn),執(zhí)行語(yǔ)句:

mysql> SET GLOBAL group_concat_max_len=102400;Query OK, 0 rows affected (0.01 sec)

再執(zhí)行g(shù)roup_concat語(yǔ)句就不會(huì)出問(wèn)題了,另外手冊(cè)上還給出了group_concat的詳細(xì)用法,給個(gè)示例你就明白了:

復(fù)制代碼 代碼如下:
mysql>select aid,group_concat(bid order by bid separator ',') as bid_str from tbl group by aid;

還可以排序和設(shè)置分隔符,功能強(qiáng)大。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》、《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

您可能感興趣的文章:

mysql group_concat()函數(shù)用法總結(jié)MySql采用GROUP_CONCAT合并多條數(shù)據(jù)顯示的方法mysql利用group_concat()合并多行數(shù)據(jù)到一行mysql的group_concat函數(shù)使用示例MySQL中g(shù)roup_concat函數(shù)深入理解Mysql的GROUP_CONCAT()函數(shù)使用方法如何修改Mysql中g(shù)roup_concat的長(zhǎng)度限制
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 博白县| 淄博市| 黔东| 桃园市| 米脂县| 郓城县| 会同县| 长顺县| 克东县| 铜川市| 赣榆县| 丹巴县| 伽师县| 高阳县| 嘉善县| 大新县| 嘉峪关市| 开封市| 政和县| 仙游县| 西峡县| 门源| 通城县| 金门县| 新乡县| 晴隆县| 广丰县| 聂拉木县| 敦煌市| 上饶市| 武定县| 筠连县| 石渠县| 福清市| 社旗县| 呼玛县| 阜康市| 永城市| 南郑县| 湖口县| 威远县|