sql oracle查询-按计算和列排序

sql oracle查询-按计算和列排序,sql,oracle,Sql,Oracle,朋友 在Oracle中,有没有一种方法可以在desc中按和排序 因此,基本上在下面的输出我想要一个页面,其中有最大的工资计数。。。i、 e.第一个结果应显示58000、27500、13000的所有详细信息 BREAK on DEPARTMENT_ID page nodup on JOB_ID skip 1 nodup COMPUTE SUM OF SALARY ON DEPARTMENT_ID / 希望我能解释清楚。。 谢谢 更符合您的散文而非代码,但如果您为聚合提供别名,

朋友

在Oracle中,有没有一种方法可以在desc中按和排序

因此,基本上在下面的输出我想要一个页面,其中有最大的工资计数。。。i、 e.第一个结果应显示58000、27500、13000的所有详细信息

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

希望我能解释清楚。。
谢谢

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

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

让我们先找出某个部门工资的
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;
要从选择中删除

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

Oracleuser…不,这将产生错误-没有一个组函数Oracleuser这是一个好主意,我正在测试它,但如何不在报告中列出该累计列?t将累计总和按顺序替换为整个sum()行。。从select中删除它,我希望它能正常工作。
ORDER BY SUM(SALARY) OVER (PARTITION BY DEPARTMENT_ID ORDER BY NULL) DESC,DEPARTMENT_ID