日期:2014-05-16 浏览次数:20453 次
*************************************************************************************************
// date?? 2008-1-24
// auth?? mircle
//? qq???? 83529101
//msn??? ?mircle_wang@hotmail.com
// class? oracle
**************************************************************************************************
(部门--人员 一对多 一个部门可以有多个员工,同一个部门内员工不重名)
employee 表
部门 | 人员 |
A | tom |
A | john |
A | mary |
? | ? |
B | longman |
B | solong |
? | ? |
C | tomy |
C | lincon |
----------------------------------- -----------------------
增加一列序号 :要求 序号要按部门不同 从1开始计数
要得到的结果如下
-------------------------------------------------------------
部门 | 人员 | 序号 |
A | john | 1 |
A | mary | 2 |
A | tom | 3 |
? | ? | ? |
B | longman | 1 |
B | solong | 2 |
? | ? | ? |
C | lincon | 1 |
C | tomy | 2 |
-------------------------------------------------------------
?oracle sql: |
select 部门,人员,(select sum(1) from employee emA ???????????????????????????? where? emA.部门=emB.部门 ????????????????????????????? and??? emA.人员<=emB.人员) as 序号 from employee emB order by emB.部门,emB.人员? ? |
这个sql智慧的地方是在:
?
计算小于它的有多少条记录来计算它的序号
---------------------------------------------------------------
?