为分组查询添加一列按分组字段从1开始计数的序号列
*************************************************************************************************// date 2008-1-24
// auth mircle
// qq 83529101
//msn mircle_wang@hotmail.com
// class oracle
**************************************************************************************************
(部门--人员 一对多 一个部门可以有多个员工,同一个部门内员工不重名)
employee 表
部门人员AtomAjohnAmary BlongmanBsolong CtomyClincon
----------------------------------------------------------------------- -----------------------
增加一列序号 :要求 序号要按部门不同 从1开始计数
要得到的结果如下
-------------------------------------------------------------------------------------------------
部门人员序号Ajohn1Amary2Atom3 Blongman1Bsolong2 Clincon1Ctomy2
-------------------------------------------------------------------------------------------------
oracle sql: select 部门,人员,(select sum(1) from employee emA
where emA.部门=emB.部门
and emA.人员<=emB.人员) as 序号
from employee emB
order by emB.部门,emB.人员
这个sql智慧的地方是在:
计算小于它的有多少条记录来计算它的序号
---------------------------------------------------------------------------------------------------
页:
[1]