我有疑问:
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
Run Code Online (Sandbox Code Playgroud)
结果我有:
|max numeric|
-----------
200
Run Code Online (Sandbox Code Playgroud)
但是我想得到max(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;
Run Code Online (Sandbox Code Playgroud)
否则,您可以HAVING在CTE术语上使用子句和子查询.
(LIMIT是PostgreSQL扩展)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |