[英]SQL Select row with max value in one column
我有以下查询
SELECT Dnumber, SUM(WORKS_ON.Hours) AS sum_hours
FROM DEPARTMENT
JOIN PROJECT ON DEPARTMENT.Dnumber = PROJECT.Dnum
JOIN WORKS_ON ON PROJECT.Pnumber = WORKS_ON.Pno
GROUP BY Dnumber
结果:
Dnumber sum_hours
--------------------
1 25.0
4 115.0
5 150.0
我想 select 与 MAX sum_hours
的行。 我尝试使用
SELECT s.Dnumber, MAX(s.sum_hours)
FROM
(SELECT Dnumber, SUM(WORKS_ON.Hours) sum_hours
FROM DEPARTMENT
JOIN PROJECT ON DEPARTMENT.Dnumber = PROJECT.Dnum
JOIN WORKS_ON ON PROJECT.Pnumber = WORKS_ON.Pno
GROUP BY Dnumber) s
GROUP BY s.Dnumber
但这会返回完全相同的结果(所有三行)。
知道如何实现这一目标吗?
尝试这个
SELECT TOP 1 Dnumber, SUM(WORKS_ON.Hours) sum_hours
FROM DEPARTMENT
JOIN PROJECT ON DEPARTMENT.Dnumber = PROJECT.Dnum
JOIN WORKS_ON ON PROJECT.Pnumber = WORKS_ON.Pno GROUP BY Dnumber
ORDER BY SUM(WORKS_ON.Hours) DESC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.