试了半天,还是不行,最后在mysql手册里找到一个用法,用group_concat(distinct SORDER_NO)配合group by SORDER_NO实现了我所需要的功能,兴奋,天佑我也。 SELECT SGOODS_ID,GROUP_CONCAT(DISTINCT SORDER_NO) FROM tms_sgoods GROUP BY SORDER_NO 结果是: 注意:group_concat函数是4.1支持的。终于搞定了,不过这...
结论:group_concat()函数需要与group by语句在一起使用,才能得到需要的效果。 原因可以这样理解:group_concat()得到是属于x组的所有成员(函数里面列参数指定需要显示哪些字段)。x组从哪里来?如 果没有group by进行指定,那么根本不知道group_concat()根据哪个分组进行显示出成员。 所以,像上面没有group by子句 的时...
GROUP_CONCAT()中的SUM()和GROUP BY是关系型数据库中常用的两个函数。 SUM()函数是用于计算指定列的总和。它可以应用于数字类型的列,将该列中的值进行累加计算并返回结果。在GROUP_CONCAT()函数中,如果需要对某个列进行求和操作,可以使用SUM()函数。 GROUP BY子句是用于根据一个或多个列对结果集进行分组的。...
group_concat 主要适用于一对多字符串拼接,使用时注意点主要有以下两点: 1、使用时必须搭配group by 分组函数使用,否则可能会出现字段全null数据,如图: 错误示范:select a.id, group_concat( b.##) as label from table_a a left join table_b b on a.id = b.association_id where b.label_type =2 an...
要达到这种效果,需要用到group_concat() : 1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。 2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] ) sql如下: 代码语言:javascript ...
1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。 2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] ) 说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一...
1.group by子句可以包含任意数目的列。这使得能对分组进行嵌套,为数据分组提供更细致的控制 2.如果在group by子句中嵌套了分组,数据将在最后规定的分组上进行汇总。换句话说,在建立分组时,指定的所有列都一起计算(所以不能从个别的列取回数据) 3.group by子句中列出的每个列都必须是检索列或有效的表达式(但不能...
GROUP_CONCAT(expr) 在Mysql 官方文档 中,该函数被放在聚合函数章节,如果你要按照指定字段分组拼接,就要配合关键字 GROUP BY 来使用的 定义 该函数返回一个字符串结果,该字符串结果是通过分组串联的非NULL值。如果没有非NULL值,则返回NULL。完整语法如下: ...
利用GROUP_CONCAT ()方法,参数为需要合并的字段,合并的字段分隔符默认为逗号,可通过参数 separator 指定。此方法一般与 GROUP BY 配合使用。 例子如下 : 1、 测试数据 Sql:select a.goods_name as '商品名', a.supply_name '供应商' from tb_goods_info ...