查询结果:
3 复杂一些的应用场景(子查询):
下面的语句是我用来查询一个学生在什么时间看了哪些视频:
结果:
当然,string_agg(field,'分隔符');分隔符可以填写其他任意的字符,方便后期处理即可;
补充:PostgreSql 聚合函数string_agg与array_agg,类似mysql中group_concat
string_agg,array_agg 这两个函数的功能大同小异,只不过合并数据的类型不同。
https://www.postgresql.org/docs/9.6/static/functions-aggregate.html
把表达式变成一个数组 一般配合 array_to_string() 函数使用
直接把一个表达式变成字符串
案例:
查询同一个部门下的员工且合并起来
方法1:
方法2:
在1条件的基础上,按ename 倒叙合并
按数组格式输出使用 array_agg
array_agg 去重元素,例如查询所有的部门
以上为个人经验,希望能给大家一个参考,也希望大家多多支持七叶笔记。如有错误或未考虑完全的地方,望不吝赐教。