显示最高和最低值Sqlplus

问题描述:

我是SqlPlus的新手,我试图显示所有部门中最高和最低的平均工资。到目前为止,我只能显示最高的薪水,但我似乎无法显示最低的薪水。显示最高和最低值Sqlplus

这是我走到这一步,

SELECT deptno AS "Dept. No", MAX(sal) AS "Salary" 
FROM emp e 
WHERE e.sal > (SELECT avg(sal) FROM emp) 
GROUP BY deptno; 

我得到的输出是

Dept. No Salary 
30   2850 
20   3000 
10   5000 

我试图让

Dept. No Salary 
30   2850 
30   950 
20   3000 
20   800 
10   5000 
10   1300 

哦,我现在用的是部门和emp表格样本!

+0

您是指所有部门的最高和最低平均工资是什么意思?计算每个部门的平均值(每个部门有一个平均值),然后从所有这些平均值(每个部门一个平均值)中只显示最高和最低值? – mathguy

+0

在任何情况下:你写的查询都有一个'where'子句,两个条件通过'和'连接,两个条件直接相互矛盾;所以很明显,不管其他什么都会选择零行。 – mathguy

+0

@mathguy我的意思是显示高和低。例如;假设最高价格是50美元,最低价格是20美元,我想要显示这两个值。到目前为止,我只能显示50美元的价值。我编辑了我的问题以显示我的预期输出! – Catastrophe

如果有其他人有同样的问题,此查询适用于我! :)

SELECT deptno AS "Dept. No", MAX(sal) AS "Highest Salary", MIN(sal) AS "Lowest Salary" 
FROM emp 
GROUP BY deptno; 
+0

哈哈,“同样的问题”会被弄糊涂:-)任务很简单:你需要每个部门的最低和最高工资。这几乎可以将单词逐个转换为SQL。这个“问题”是,你认为你正在寻找一些平均工资,而这与实际工作无关。 –