原表中数据格式:select round_nums,GROUP_CONCAT(cf) as cfs from pps_ads_arrange_info_cf where game_id = 3262 and channel_id = 42 and addtime >= '2015-08-22' and addtime 处理完之后如下图:
一个很有用的函数
group
_
concat
(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。
通俗点理解,其实是这样的:
group
_
concat
()会计算哪些行属于同一组,将属于同一组的列
合并
显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据
group
by指定的列进行分组。
合并
的字段分隔符默认为逗号,可通过参数separator指定。
比如在student表中,有如下5条数据:
有要求如下:“小明”的两行
成
绩可以放在
一行
展示,“小红”的两行
成
绩也放在
一行
展示!
那么就可以使用
SELECT n
##--
mysql
中的
多行
查询
结果
合并
成
一个,去重复,排序,指定分隔符--
SELECT mcht_no,sum(available_amt) as tot_available_amt,
group
_
concat
(distinct seller_id order by seller_id desc separator ';')
FROM `lgf-transcore-db`.t_mcht_shop_inf
group
by mcht_no order by tot_available_amt de...
一个字段可能对应多条数据,用
mysql
实现
将
多行
数据
合并
成
一行
数据
例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句:
SELECT class.classId ,
GROUP
_
CONCAT
( obj.objId ) AS objId
FROM class , obj
WHERE class.classId = obj.objId
GROUP
BY class.classId
在很多场景中我们用到一对多
查询
时候会返回很多条记录,但是我们前端展现往往希望把这多条记录的某个字段
拼接
成
一个字符串放在某个地方显示,这时候我们大多做法是在
查询
到List遍历出来然后用StringBuilder
拼接起来放在一个属性里面(names)返给前端,前端在把这个拼接好的字段做显
利用union关键字,可以给出多条select语句,并将它们的结果组合
成
单个结果集。
合并
时,两个表对应的列数和数据类型必须相同。各个select语句之间使用union或union all 关键字分隔。union不使用关键字all,执行的时候删除重复的记录,所有返回的行都是唯一的;使用关键字all的作用是不删除重复行也不对结果进行自动排序。
基本语法格式为:
select column,...fro...
MySQL
可以使用
GROUP
_
CONCAT
函数将
多行
结果
合并
为
一行
。例如,以下
查询
将
合并
所有匹配条件的结果:
SELECT
GROUP
_
CONCAT
(name SEPARATOR ', ') FROM my_table WHERE condition;
其中,name是要
合并
的列名,SEPARATOR是分隔符,可以根据需要自定义。
qq_41816610:
hive中时间日期函数的使用
weixin_40745079:
关于ubuntu下安装完PHP+Apache后,无法解析php的解决方案
「已注销」:
PHP调试时print_r ,var_dump的区别
银尘爵迹: