锁定老帖子 主题:oracle9i单表分组问题,有点搞人!
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-09
可以考虑用临时表,先把人员按人员类别insert到某张表,当然可以是临时表。表定义就是人员类别和人员代码。然后用人员类别(管理人员等)来循环。当循环到某种类别的人(比如是管理人员)时,再对临时表中符合条件的人员进行统计,再插入到另一张临时表当中。这样人员条件只要写一次,而且比较清楚。我们对多单位多种信息人数的汇总还有金额的汇总就是用这个方法。当然这就不光光是语句了,要用存储过程了。大体思路是这样,具体表设计当然还要看你的具体要求。
|
|
返回顶楼 | |
发表时间:2008-04-10
可以考虑这样做
select sum(decode(t1.degree_title, '初级', 1, 0) n, sum(decode(t1.duty,'管理人员', 1, 0)) o from t1 或者用case when方式代替decode |
|
返回顶楼 | |
发表时间:2008-04-11
这种问题我觉得比较好的做法是先统计出行数据需要的信息,然后分行得到统计数据的结果比较好
|
|
返回顶楼 | |
发表时间:2008-09-10
可以这样,把同一个表起不同的别名,和你的列个数一样,然后where中的条件都有一样的,即:
select a.id,b.name,c.birthday from employee a,employee b,employee c where X and Y and Z; X、Y、Z是同一个where条件,用不同的别名代替就可以 |
|
返回顶楼 | |