有哪些人的工资在所有人的平均工资之上??
利用聚合函数(avg,sum,min,max,count)sql语句怎么写呢?

解决方案 »

  1.   

    select * from
    (select 员工,工资,部门 ,avg(工资) over(partition by 员工) 员工平均工资
    from 表A) where 工资>员工平均工资;
      

  2.   

    有哪些人的工资在所有人的平均工资之上??
    利用聚合函数(avg,sum,min,max,count)sql语句怎么写呢?
    ---------------
    select * from 表 where 工资>(select avg(工资) from 表)
      

  3.   

    select * from
    (select 员工,工资,部门 ,avg(工资) over(partition by 员工) 员工平均工资
    from 表A) where 工资>员工平均工资;
      

  4.   

    select * from
    (select 员工,工资,部门 ,avg(工资) over() 员工平均工资
    from 表A) where 工资>员工平均工资;
    -----------------------------------
    错了,不能partition by 员工的。
      

  5.   

    SELECT * FROM emp WHERE sal > (SELECT AVG(sal) FROM emp);
    SELECT * FROM (SELECT AVG(sal) over() avgsal, t.* FROM emp t) WHERE sal > avgsal;
      

  6.   

    select * from table where salary>(select avg(salary) from table)
      

  7.   

    SELECT * FROM scott.emp e WHERE e.sal>(SELECT AVG(sal) FROM scott.emp);