显示最高和最低值Sqlplus
我是SqlPlus的新手,我试图展示所有部门的最高和最低平均工资。到目前为止,我只能展示最高的薪水,但我似乎不能展示最低的薪水 这就是我目前得到的显示最高和最低值Sqlplus,sql,oracle,Sql,Oracle,我是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
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
哦,我使用的是dept和emp表格样本 如果其他人也有同样的问题,这个查询对我很有效!:
SELECT deptno AS "Dept. No", MAX(sal) AS "Highest Salary", MIN(sal) AS "Lowest Salary"
FROM emp
GROUP BY deptno;
你所说的所有部门的最高和最低平均工资是什么意思?计算每个部门的平均值每个部门有一个平均值,然后从所有这些平均值中为每个部门显示一个平均值,只显示最高值和最低值?在任何情况下:您编写的查询有一个where子句,两个条件由and连接,这两个条件直接相互矛盾;所以很明显,不管其他任何事情,都会选择零行。@mathguy我的意思是显示高行和低行。例如假设最高值是50美元,最低值是20美元,我想显示这两个值。到目前为止,我只能显示50美元的价值。我编辑了我的问题以显示我的预期输出!删除e.sal>从emp中选择avgsal的位置。然后将MINsal作为Min Salary添加到maxWhy where e.sal>…-为什么你需要和平均工资做比较?你的问题与任何平均水平有什么关系?哈哈,同样的问题也会被混淆:-任务很简单:你想要每个部门的最低和最高工资。这几乎可以逐字翻译成SQL。问题是,你以为你在寻找一些薪水,而这与实际任务无关。