group_concat的使用】的更多相关文章

SELECT oam.id , GROUP_CONCAT(oacm.name) category FROM om_article_manage oam LEFT JOIN om_article_category_relation oacr ON oacr.article_id = oam.id LEFT JOIN om_article_category_manage oacm ON oacm.id = oacr.category_id GROUP BY oam.id ORDER BY oacm.…
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 以cat_id分组,把name字段的值打印在一行,逗号分隔(默认) 修改分隔符 去冗余 排序…
percona有一篇blog: The power of MySQL GROUP_CONCAT 比较详细地介绍了GROUP_CONCAT函数的用法.简单地翻译了一下. 假设你有4名工程师,这周他们为6名客户解决了15个问题.他们之间彼此协作,如何展示他们之间的逻辑关系呢?我是这么做的: 译者的sql与原文给出的sql有些许的差异,不过核心思想是一致的. 创建表: 工程师表 engineers (id, name, surname, URL) 客户表 customers (id, company…
如何用一个SQL查询出一个班级各个学科第N名是谁? 首先贴出建表语句,方便大家本地测试: -- 建表语句 CREATE TABLE score ( id INT NOT NULL auto_increment, `name` VARCHAR (20) NOT NULL DEFAULT '' COMMENT '姓名', sub VARCHAR (20) NOT NULL DEFAULT '' COMMENT '学科', score INT NOT NULL DEFAULT 0 COMMENT '分…
GROUP_CONCAT 使用方式GROUP_CONCAT ([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) SELECT column1, GROUP_CONCAT(IFNULL(column2,0) ,  ','  ,IFNULL(column3,0),  ','  ,IFNULL(column4,0)   ORDER BY LENGTH(column5),column4)  column_name  from ta…
mysql方法来源于:http://www.cnblogs.com/jjcc/p/5896588.html ###在网上看到一篇,非常赞的方法### 比如说要获取班级的前3名,mysql就可以用GROUP_CONCAT  + GROUP BY + substring_index实现. 考试表 DROP TABLE IF EXISTS `test`;CREATE TABLE `test` (`id` int(11) DEFAULT NULL,`name` varchar(20) DEFAULT N…
SELECT  pid,  GROUP_CONCAT(field ORDER BY  coder desc)  'msg'from   product_field    GROUP BY  pid 分组加排序 group_concat()函数总结 group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来.要返回哪些列,由函 数参数…
这几天在做购物车的时候.购物车内的商品为一个商品占一行,结果再从数据库读出的时候,没有分组,而是循环所有的内容出来,然后进行判断.如果一样的话就把他保存到一个变量中.但是自己逻辑没搞清楚.一直出bug. 偶然间想起了 sql语句中分组查询.突然才明白 就是进行分组查询.按照店铺分组 然后里边的详细商品用 group_concat函数进行组合 select 店铺ID,group_concat(shangPinID) shangPinIDs  from 购物车 group by 店铺ID 其中 sh…
一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name   |+----+--------+|  1 | BioCyc |+----+--------+1.语法及使用特点:CONCAT(str1,str2,…)                       返回结果为连接参数产生的字符串.如有任何一个参数为NULL…
t1表 语句: select type,group_concat(name) from t1 group by type 结果…
来自: http://hchmsguo.iteye.com/blog/555543 MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 select * from aa; +------+------+ | id| name | +------+------+ |1 | 10| |1 | 20| |1 | 20| |2 | 20|…
SELECT concat('',group_concat(option_name  )) as option_name,select_id            FROM zuyi_t_search_option group by select_id ORDER BY sort 这样排序是不起作用的. SELECT concat('',group_concat(option_name ORDER BY sort )) as option_name,select_id            FR…
语法: GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | expr}[ASC | DESC] [,col_name ...]][SEPARATOR str_val]) 下面演示一下这个函数,先建立一个学生选课表student_courses,并填充一些测试数据.SQL代码 CREATE TABLE student_courses ( student_id INT UNSIGNED NO…
函数语法: group_concat( [DISTINCT]  要连接的字段   [Order BY 排序字段 ASC/DESC]   [Separator '分隔符'] ) 下面举例说明: select * from goods; +------+------+| id| price|+------+------+|1 | 10||1 | 20||1 | 20||2 | 20||3 | 200 ||3 | 500 |+------+------+6 rows in set (0.00 sec)…
1. GROUP_CONCAT有个最大长度的限制,超过最大长度就会被截断掉,你可以通过下面的语句获得: SELECT @@global.group_concat_max_len; show variables like "group_concat_max_len"; 2.在MySQL配置文件中my.conf或my.ini中添加: #[mysqld] group_concat_max_len=102400 3.重启MySQL服务…
group_concat()函数总结 group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来.要返回哪些列,由函 数参数(就是字段名)决定.分组必须有个标准,就是根据group by指定的列进行分组. group_concat函数应该是在内部执行了group by语句,这是我的猜测. 1.测试语句:SELECT group_co…
> 参考的优秀文章 GROUP_CONCAT(expr) > 简单的例子 此函数的功能,是拼接group分组多行的数据为一行,并可以指定去重.排序.分隔符. 例子: select t.name, group_concat(distinct t.role order by t.sort asc separator ';') from ( as sort union all as sort union all as sort union all as sort union all as sort…
MySQL有个聚集函数group_concat, 它可以按group的id,将字段串联起来,如 表:id name---------------1 A2 B1 B SELECT id, group_concat(name) from xxx group by id得出的结果为 id group_concat(name)---------------------------1 A,B2 B PostgreSQL没有现成的group_concat聚集函数,但可以自定义聚集函数,所以可以容易的实现这功…
一:group_concat函数详解 1.语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 2.基本查询: select * from aa; 结果: +------+------+ | id| name | +------+------+ | | | | | | +------+------+ rows in set (0.00 sec) 3. 以id分组,把name字段的值打印在一…
这个函数是一个非常好用的函数,比如我们可以在 进行多对多关联表,进行批量查询的时候可以用到, 比如学生和老师是多对多的关系,如果我们希望查询 指定的一些老师对应的学生有哪些 的时候,一般的情况,我们可能会遍历teacher_id,来一个个获取对应的学生集合,这样的话,效率是很差的,但是有了group_concat函数,你可以不用这样,你可以使用如下方式进行获取 select teacher_id,group_concat(student_id) from teache_student_mappi…
分割字符串 group_concat(a.EvidencesID separator ',') as EvidencesID #在MySQL配置文件(my.ini)中默认无该配置项,使用默认值时,值为1024; #要彻底修改,在MySQL配置文件(my.ini)中加上 group_concat_max_len = -1  # -1为最大值或填入你要的最大长度 #并重启mysql #在客户端执行语句: #show variables like "group_concat_max_len"…
select aid,group_concat(bid order by bid separator ',') as bid_str from tbl group by aid; SET GLOBAL group_concat_max_len = 1024; show variables like "group_concat_max_len";…
GROUP_CONCAT 通常跟 group by 一起用,但也可以不用.例:select GROUP_CONCAT(pct_id) as pct_ids from (select max(pct_id) as pct_id from potential_customer_trail GROUP BY pc_id HAVING count(pct_id)>1 LIMIT 10) as a…
//这个函数有长度限制,上了多次当.默认长度1024长度. select group_concat(id) from table; 要彻底修改,在MySQL配置文件(my.ini)中加上 group_concat_max_len = -1  # -1为最大值或填入你要的最大长度 #并重启mysql #在客户端执行语句: #show variables like "group_concat_max_len"; #如果为自己修改的值或4294967295(设置为-1时)则修改正确. 正则匹…
GROUP_CONCAT()是MySQL数据库提供的一个函数,通常跟GROUP BY一起用,具体可参考MySQL官方文挡:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat. 语法: GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC |DESC]…
修改数据库中group_concat的返回结果的长度限制 我们可以使用Mysql的客户端管理工具,Sqlyog 新建一个查询编辑器 显示  SHOW VARIABLES LIKE "group_concat_max_len"; 修改  SET GLOBAL group_concat_max_len = 1024000; -- 关掉Mysql的Sqlyog客户端,生效…
group_concat()主要功能:能将相同的行组合起来 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 select * from aa; +------+------+| id| name |+------+------+|1 | 10||1 | 20||1 | 20||2 | 20||3 | 200 ||3 | 500 |+------+------+6 ro…
今天做项目遇到一个问题,百度好久都没找到问题所在 是酱紫的,一张表 关联的表 然后我用sql语句查询 point.pid,point.pname,GROUP_CONCAT(downsite.pname ) dname from point,downsite where point.pid=downsite.pid GROUP BY point.pid 结果却是 北京点的信息哪去了????最后请教了大神才知道,我这个sql语句两表连接方式不对,该改为外连接的方式,因为上面那种连接方式属于内连接,只…
MySQL group_concat函数是典型的字符串连接函数,下面就为您介绍MySQL group_concat的语法,希望对您学习MySQL group_concat函数有所帮助. MySQL group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 mysql> select * from aa; +------+------+ | id| …
mysql concat(str1,str2...)连接两个字符串,(数字也是可以的,会转成字符串) MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL mysql> select concat('11','22',null);+------------------------+| concat('11','22',null) |+------------------------+| NULL   |+------------------------+1…