如何从包含较少列的组中获取行的数量或列数?

时间:2017-09-09 10:30:36

标签: oracle10g

嗨,这个是我的表

+-------------------------------------------------+
|  name    |   sal    |  dept   |  age   | subdpt |
+----------+----------+---------+--------+--------+
|  sourav  |   1000   |  4      |  20    |  10    |
|  ravi    |   1333   |  4      |  21    |  20    |
|  dinesh  |   1444   |  5      |  22    |  30    |
|  kumar   |   1000   |  5      |  23    |  30    |
+-------------------------------------------------+

我希望所有列都包含dept和subdpt的最大sal组。 请指导我。

1 个答案:

答案 0 :(得分:0)

考虑使用MAX(sal) OVER()下面的详细信息

首先看一下这个结果:

    select *
    , max(sal) over() max_sal
    from yourtable

然后将想要的过滤应用于该数据:

select * from (
    select *
    , max(sal) over() max_sal
    from yourtable
    ) d
where sal = max_sal