我有疑问:
select max(sumValues)
FROM (select dep.name AS sumName, sum(em.salary) AS sumValues
from EMPLOYEE em
INNER JOIN DEPARTMENT dep ON em.department_id=dep.id
group by dep.id) a
结果我有:
|max numeric|
-----------
200
但是我想得到最大(max(sumValues))的结果名称(dep.name),我该怎么做?
最佳答案
最简单的方法是排序并取第一个元组:
select sumName, sumValues
FROM (
select dep.name AS sumName, sum(em.salary) AS sumValues
from EMPLOYEE em
INNER JOIN DEPARTMENT dep ON em.department_id=dep.id
group by dep.id
) a
ORDER BY sumValues DESC
LIMIT 1;
否则,您可以对 CTE 术语使用 HAVING
子句和子查询。
(LIMIT
是一个 PostgreSQL 扩展)
关于sql - 如何获得最大的名字?数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23905848/