我有一个大学数据库,从讲师表中,最初我被告知要找到每个系教授的最高工资,并将其重命名为“最高工资”。讲师表有四列,“id”、“name”、“dept\u name”和“salary”。我通过下面的查询找到了每个部门的最高工资:
SELECT dept_name, MAX(salary) AS max_salary
FROM instructor
GROUP BY dept_name;
然后我被要求从上面的查询中找出工资组的最低值。我想我已经接近这个问题了:
SELECT min(salary)
FROM
(SELECT dept_name, MAX(salary)
FROM instructor
GROUP BY dept_name) as lowest;
但是,这会给我一条错误消息,指出“字段列表中的未知列‘salary’”。
关于如何在一组最大值中找到最小值,我在教科书或网上似乎找不到任何答案,我只得到了一个隐晦的提示“你必须使用嵌套查询”,这没有多大帮助。
还有人听说过怎么做这种事吗?
1条答案
按热度按时间tmb3ates1#
你真的很接近
需要为计算列提供别名。我曾经
max_sal
. 然后您可以在外部查询中引用它。另一种可能是对数据进行排序,只获取第一个结果: