group_concat长度限制问题

研发今天说group_concat函数导致结果显示不全。

group_concat作用:group_concat()函数,对查询的数据进行字符串连接操作。

默认group_concat的值为1024

临时调整:

set global group_concat_max_len=201400;

修改配置文件/etc/my.cnf

group_concat_max_len = 102400

具体SQL:

SELECT B.app_service AS Descr, COUNT(B.CountInInteval) AS TotalCount, GROUP_CONCAT(B.SysId) AS DetailLastSysIdStr, GROUP_CONCAT(B.CountInInteval) AS DetailCountStr FROM

                                (

                                  SELECT A.SysId, A.app_service, COUNT(A.DiffTime) AS CountInInteval FROM 

                                  (

                                    SELECT al2.SysId, al2.app_service, (UNIX_TIMESTAMP(al1.create_date) - UNIX_TIMESTAMP(al2.create_date)) AS DiffTime, al1.create_date AS create_date1, al2.create_date FROM 

                                    (

                                      SELECT al.SysId, al.app_service, al.create_date 

                                      FROM access_log al 

                                      WHERE al.system_id = @SystemId AND al.app_service <> 'System/GetSystemMenuList'

                                      AND al.create_date BETWEEN @StartDate AND @EndDate

                                    ) AS al1, 

                                    (

                                      SELECT al.SysId, al.app_service, al.create_date 

                                      FROM access_log al 

                                      WHERE al.system_id = @SystemId AND al.app_service <> 'System/GetSystemMenuList'

                                      AND al.create_date BETWEEN @StartDate AND @EndDate

                                    ) AS al2

                                    WHERE al1.app_service = al2.app_service

                                  ) A

                                  WHERE A.DiffTime >= @Inteval AND A.DiffTime <= 0

                                  GROUP BY A.SysId, A.app_service

                                  HAVING CountInInteval > 1

                                  ORDER BY CountInInteval DESC

                                ) B

                                GROUP BY B.app_service ORDER BY TotalCount DESC LIMIT 5;

时间: 2024-12-26 13:37:37

group_concat长度限制问题的相关文章

MYSQL中group_concat有长度限制!默认1024

在mysql中,有个函数叫"group_concat",平常使用可能发现不了问题,在处理大数据的时候,会发现内容被截取了,其实MYSQL内部对这个是有设置的,默认不设置的长度是1024,如果我们需要更大,就需要手工去修改配置文件. 详细说明如下: 用了group_concat后,select里如果使用了limit是不起作用的. 用group_concat连接字段的时候是有长度限制的,并不是有多少连多少.但你可以设置一下. 使用group_concat_max_len系统变量,你可以设置

MySQL统计函数GROUP_CONCAT报错的原因及解决方法

今天在执行下面这条sql语句时,结果报错了. CREATE table car_user_content select addr_id,comm_userid,GROUP_CONCAT(comm_content) as content from (select * from forum_comment union select * from forum_comment1) as te GROUP BY addr_id,comm_userid ; 这里用到了联合函数GROUP_CONCAT,但在使

mysql中group_concat函数用法

一.语法   GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]] [SEPARATOR str_val])   也可以简单的理解   group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])   二.group_concat

MySQL统计函数GROUP_CONCAT使用陷阱分析_Mysql

本文实例分析了MySQL统计函数GROUP_CONCAT使用中的陷阱.分享给大家供大家参考,具体如下: 最近在用MySQL做一些数据的预处理,经常会用到group_concat函数,比如类似下面一条语句 复制代码 代码如下: mysql>select aid,group_concat(bid) from tbl group by aid limit 1; sql语句比较简单,按照aid分组,并且把相应的bid用逗号串起来.这样的句子大家可能都用过,也可能不会出问题,但是如果bid非常多的话,你就

oracle 函数 WMSYS.WM_CONCAT 的用法 与 mysql 函数GROUP_CONCAT的用法

1.oracle函数 WMSYS.WM_CONCAT的使用 如图,将图1的结果变成图2的结果,使用函数 WMSYS.WM_CONCAT 即可. 查询语句需要配合使用group by select aa,wmsys.wm_concat(t1.name) from ( select t.name,to_char(t.createdate,'yyyy-mm-dd') aa from td_user t where t.td_conference_id = 3218 and t.status = 1 a

MySql中GROUP_CONCAT()函数使用详解

语法:  代码如下 复制代码 GROUP_CONCAT([DISTINCT] expr [,expr ...]                [ORDER BY {unsigned_integer | col_name | expr}                    [ASC | DESC] [,col_name ...]]                [SEPARATOR str_val]) 1.例如:  代码如下 复制代码 SELECT student_id, GROUP_CONCA

mysql函数group_concat使用方法

GROUP_CONCAT()是MySQL数据库提供的一个函数,通常跟GROUP BY一起使用. 语法: GROUP_CONCAT([DISTINCT] expr [,expr ...]              [ORDER BY {unsigned_integer | col_name | expr}                  [ASC | DESC] [,col_name ...]]              [SEPARATOR str_val]) 1.例如:  代码如下 复制代码

MySQL中函数CONCAT及GROUP_CONCAT

随笔转载自:http://www.cnblogs.com/appleat/archive/2012/09/03/2669033.html   一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name   |+----+--------+|  1 | BioCyc |+----+--------+1.语法及使用特点:

C语言指针的长度和类型

如果考虑应用程序的兼容性和可移植性,指针的长度就是一个问题,在大部分现代平台上,数据指针的长度通常是一样的,与指针类型无关,尽管C标准没有规定所有类型指针的长度相同,但是通常实际情况就是这样.但是函数指针长度可能与数据指针的长度不同. 指针的长度取决于使用的机器和编译器,例如:在现代windows上,指针是32位或是64位长 测试代码: #include<stdio.h> #include<math.h> #include<stdlib.h> #include<s