Is Date() a UDF you have defined? Don't think that is a built-in SQL Server function. If you are looking for today's date, you can use getdate() (which would also include the time part)Regardless, you can use ORDER BY instead of using the MAX function:SELECT TOP 1 Forename, Surname, Total_Amount_Of_LikesFROM(SELECT Forename, Surname, Sum(Likes) AS Total_Amount_Of_LikesFROM Instructors, Exercise_Class_Type, Exercise_Class_Staff, Exercise_Class_Booking, FeedbackWHERE Exercise_Class_Type.Exercise_Class_ID = Exercise_Class_Staff.Exercise_Class_IDAND Exercise_Class_Type.Exercise_Class_ID = Exercise_Class_Booking.Exercise_Class_ID AND Exercise_Class_Booking.Exercise_Booking_ID = Feedback.Exercise_Booking_IDAND Instructors.Instructor_ID = Exercise_Class_Staff.Instructor_IDAND Start_Date_Time >= Date() - 30GROUP BY Forename, Surname) intermediateORDER BY Total_Amount_Of_Likes DESC;