Sql 查找总和最大的行
我有家教的资料。我在课时表中记录了每个月的辅导时间。我想知道2006年3月谁的辅导时间最多 餐桌导师Sql 查找总和最大的行,sql,postgresql,Sql,Postgresql,我有家教的资料。我在课时表中记录了每个月的辅导时间。我想知道2006年3月谁的辅导时间最多 餐桌导师 tutorID 1 2 会议桌 tutorID Hours Month 1 2 March 1 1 March 2 1 March 预期产出: TutorID 1 我建议: select top 1 sum(Hours), tutorID from
tutorID
1
2
会议桌
tutorID Hours Month
1 2 March
1 1 March
2 1 March
预期产出:
TutorID
1
我建议:
select top 1 sum(Hours), tutorID from SESSION where Month like 'March' group by
tutorID order by sum(Hours) DESC
使用2秒。
第一个将返回每个导师的所有金额。
第二个将返回第一个cte返回的最大金额。
最后,select语句将仅返回第一个cte中的导师,其小时数总和等于第二个cte返回的最大小时数
with
sumcte as (
select tutorID, sum(hours) sumhours
from session
where month = 'March' -- here there should be another condition for the year?
group by tutorID
),
maxcte as (
select max(sumhours) maxhours from sumcte
)
select tutorid from sumcte
where sumhours = (select maxhours from maxcte)
行中什么的总和?求三月份导师1和导师2的小时数总和,并返回最高值为什么喜欢“三月”?另外,如果两个导师有相同的金额呢?很公平,有点过分。您也不必通过在变量语句之前写入top 1来限制查询,以消除缺少绘图的可能性。