DB2聚合函数

时间:2014-04-29 08:07:17

标签: sql db2

我想在DB2中使用group by function创建一个视图。不确定SQL语句是否能够创建这样的视图。

数据:

TableId   department    item
1         dept1         item1
2         dept2         item1
3         dept1         item1
4         dept2         item1

查看输出:

department    item     id
dept1         item1    1,3
dept2         item1    2,4

我能够创建一个按部门和项目分组的视图,但不确定如何在视图中组合表格。

寻求建议。

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

你可以用LISTAGG功能做到这一点。请查看本文以了解如何使用它:https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/listagg?lang=en

select department, listagg(TableId, ',') within group (order by TableId) as id
from YourTable
group by department; 

有关详细信息:http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0058709.html

您还可以使用XMLCast + XMLGroup:https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/aggregating_strings42?lang=en