A01,A02,A03表中的字段是一样的,是个话单表
只是按月份建立的,话单的帐期
表中的字段有电话号码phonenum,一次通话的话费charge
请问大家,比如说,怎么查1,2,3三个月花费最高的前10名电话号码啊,就是前三个月总和最高的前10个号码?
谢谢了
对了,是oracle 数据库
------解决方案--------------------
不知道是不是这个意思
select phonenum,sum(charge) as total from (
select phonenum,charge from a01
union
select phonenum,charge from a02
union
select phonenum,charge from a03
) a where rownum<=10 group by phonenum order by total desc;
------解决方案--------------------
try it ..
- SQL code
select tt.phonenum from ( select AA.phonenum, sum(AA.charge) as all_charges from ( select phonenum,charge from A01 union all select phonenum,charge from A02 union all select phonenum,charge from A03 )AA group by AA.phonenum order by 2 desc )tt where rownum <= 10;