繁体   English   中英

sql oracle查询-按计算得出的SUM列排序

[英]sql oracle query - order by computed SUM column

在Oracle中,有没有一种方法可以按desc求和?

所以基本上在下面的输出中,我想要一个拥有最高薪水计数的页面...即第一个结果应该显示58000、27500、13000中的所有详细信息

BREAK on DEPARTMENT_ID page  nodup
         on JOB_ID skip 1 nodup
COMPUTE SUM OF SALARY ON DEPARTMENT_ID

/

DEPARTMENT_ID JOB_ID     LAST_NAME                     SALARY
------------- ---------- ------------------------- ----------
           20 MK_MAN     Hartstein                      13000
************* **********                           ----------
sum                                                     13000

DEPARTMENT_ID JOB_ID     LAST_NAME                     SALARY
------------- ---------- ------------------------- ----------
           80 SA_MAN     Russell                        14000
                         Partners                       13500

************* **********                           ----------
sum                                                     27500

DEPARTMENT_ID JOB_ID     LAST_NAME                     SALARY
------------- ---------- ------------------------- ----------
           90 AD_PRES    King                           24000

              AD_VP      Kochhar                        17000
                         De Haan                        17000

************* **********                           ----------
sum                                                     58000

希望我解释得很好..谢谢..

让我们通过预先查找部门的工资SUM()并将其附加到常规列中来进行分析。以降序对其进行排序,就可以完成了。

您将仍然可以使用sql*plus报告。

SELECT DEPARTMENT_ID,
       JOB_ID,
       LAST_NAME,
       SALARY,
       SUM(SALARY) OVER (PARTITION BY DEPARTMENT_ID ORDER BY NULL) as CUMULATIVE_SUM
FROM EMPLOYEE
ORDER BY CUMULATIVE_SUM DESC,DEPARTMENT_ID;

要从SELECT中删除,

ORDER BY SUM(SALARY) OVER (PARTITION BY DEPARTMENT_ID ORDER BY NULL) DESC,DEPARTMENT_ID

比代码更符合您的散文,但是,如果为聚合提供别名,则可以按别名排序。

select somefield, sum(something) total
from whereever
where whatever
group by somefield
order by total desc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM