select id,部门,sum(工资)  from 表 order by id asc group by 部门
想要的显示结果,如下:
id  部门  工资
1  技术部 3000.00
2  业务部 5000.00
........如果,我不进行排序,业务部就会显示到上面,所以,要进行排序,而我还不想把SQL语句写成‘select id,部门,sum(工资)  from 表 group by 部门,id order by id asc ’因为这样显示的结果有问题,不能时时更新,我想用自连接来进行实现,可是,还是报错,我真的是没有办法了,请各位帮帮忙!

解决方案 »

  1.   

    有点看不懂你要做什么,order by 要在group by 后
      

  2.   

    说具体点,你可以用视图表的,先进行order by ,再group by
      

  3.   

    select id,部门,sum(工资) from (select id,部门,工资  from 表 order by id asc) group by 部门,id
      

  4.   

    select distinct id,部门,sum(工资)over(partion by 部门) from 表 order by id
      

  5.   


    select distinct id,部门,sum(工资)over(partition by 部门) from 表 order by id
      

  6.   

    over(partition by 部门)这是什么意思啊?
      

  7.   

    over(partition by 部门)我知道是什么意思了!
    可是,select distinct id,部门,sum(工资)over(partition by 部门) from 表 order by id,记录会重复出现阿!
      

  8.   

    不是已经distinct去掉重复了吗
      

  9.   

    但是,编号不是重复的阿!
    select distinct Branch,WaterN,WaterP,ElectricityN,ElectricityP,GasN,GasP,addup from
    (select distinct id,Branch,sum(WaterN) over(partition by Branch) WaterN,sum(WaterP) over(partition by Branch) WaterP,
    sum(ElectricityN) over(partition by Branch) ElectricityN,sum(ElectricityP) over(partition by Branch) ElectricityP,
    sum(GasN) over(partition by Branch) GasN,sum(GasP) over(partition by Branch) GasP,sum(addup) over(partition by Branch) addup 
    from L_WaterElectricityGas where BDate >= to_date('2007.07.09','yyyy-mm-dd') and BDate <= to_date('2007.07.11','yyyy-mm-dd') order by id asc)
    我就这么写,语句显示出来之后,还是格式不对啊,我都快郁闷死了!
    但是,我真的非常感谢你们两个!
      

  10.   

    想要的显示结果,如下:
    id  部门  工资
    1  技术部 3000.00
    2  业务部 5000.00但是,显示的时候还是
    id  部门  工资
    2  业务部 5000.00
    1  技术部 3000.00