如何在SQL中使用MAX函数?
How to use MAX function in SQL?
这是我的查询:
SELECT Cottage15.CNUM,Cottage15.Rent,Assignment15.Hours
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
ORDER BY Assignment15.AID;
有效,但我不知道如何将 Max
函数应用到 hours
?我希望 MAX(Assignment15.Hours)
会起作用!?
此查询显示所有行,但我只希望它显示根据小时字段具有最高数字的某些行。
我想这就是你想要的
SELECT Cottage15.CNUM,Cottage15.Rent,Assignment15.Hours
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
WHERE Assignment15.Hours = (SELECT MAX(Assignment15.Hours) FROM Assignment15)
ORDER BY Assignment15.Hours
您必须添加组聚合才能应用 Max 函数
SELECT Cottage15.CNUM,Cottage15.Rent,Max(Assignment15.Hours)
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
group by Cottage15.CNUM,Cottage15.Rent
ORDER BY Assignment15.AID;
如果你想每个 Cottage15.CNUM and Cottage15.Rent
得到 max(hour)
然后使用 max(Assignment15.Hours)
和 group by Cottage15.CNUM,Cottage15.Rent
:
SELECT Cottage15.CNUM,Cottage15.Rent,MAX(Assignment15.Hours)
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
GROUP BY Cottage15.CNUM,Cottage15.Rent
但是如果你想得到在整个结果集中有max(Assignment15.Hours)
的Cottage15.CNUM and Cottage15.Rent
那么你可以通过:
SELECT Cottage15.CNUM,Cottage15.Rent,Assignment15.Hours
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
WHERE Assignment15.Hours = ( SELECT MAX(Assignment15.Hours)
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
)
这是我的查询:
SELECT Cottage15.CNUM,Cottage15.Rent,Assignment15.Hours
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
ORDER BY Assignment15.AID;
有效,但我不知道如何将 Max
函数应用到 hours
?我希望 MAX(Assignment15.Hours)
会起作用!?
此查询显示所有行,但我只希望它显示根据小时字段具有最高数字的某些行。
我想这就是你想要的
SELECT Cottage15.CNUM,Cottage15.Rent,Assignment15.Hours
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
WHERE Assignment15.Hours = (SELECT MAX(Assignment15.Hours) FROM Assignment15)
ORDER BY Assignment15.Hours
您必须添加组聚合才能应用 Max 函数
SELECT Cottage15.CNUM,Cottage15.Rent,Max(Assignment15.Hours)
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
group by Cottage15.CNUM,Cottage15.Rent
ORDER BY Assignment15.AID;
如果你想每个 Cottage15.CNUM and Cottage15.Rent
得到 max(hour)
然后使用 max(Assignment15.Hours)
和 group by Cottage15.CNUM,Cottage15.Rent
:
SELECT Cottage15.CNUM,Cottage15.Rent,MAX(Assignment15.Hours)
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
GROUP BY Cottage15.CNUM,Cottage15.Rent
但是如果你想得到在整个结果集中有max(Assignment15.Hours)
的Cottage15.CNUM and Cottage15.Rent
那么你可以通过:
SELECT Cottage15.CNUM,Cottage15.Rent,Assignment15.Hours
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
WHERE Assignment15.Hours = ( SELECT MAX(Assignment15.Hours)
FROM Cottage15
INNER JOIN Assignment15
ON Cottage15.CNUM=Assignment15.CNUM
)