I think this last task is a little ambiguous so it’s not 100% clear what average you’re comparing against. My interpretation (I do not know if it technically correct) was that you want to check if a reviewer consistently left reviews for places that were lower than the
places.average_rating for that particular place.
So, if the rating of a place left by
username was 2 and the
average_rating of that place was 2.7 then this would be added to the count of bad reviews left by that particular reviewer. Whichever reviewer had the highest count would then be labelled the most “difficult” reviewer.
In that case the count would be lower than 10 which you get with your current query.
Depending on how you interpret the question you could have a very different query; I’m afraid I don’t know for certain what the answer should be. As long as you’re learning and motivated try a few different solutions if you like. That is the main goal after all .
It might be worth simplifying your query a little, I’m not sure that every column there is useful or relevant (count may be required, username is essential and LIMIT may be useful). That is of course up to you though .