Take a look at SQL functions AVG() and COUNT(). With these two functions you can figure out the rating average across all reviews and then the sum of the reviews. To use these functions, you can group by the location_id (assuming the location_id is the id to the restaurant).
Once you have these two pieces of data, you can order them in descending order on both of the columns to yield the restaurant with the highest rating with the most reviews.
For instance something like this…
SELECT location_id, AVG(rating) as rating_avg, COUNT(location_id) as review_count
GROUP BY location_id
ORDER BY rating_avg desc, review_count desc;
Here you will see that this list will order the highest rated with the most reviews first. Now of course you can adjust this based on your own criteria, but you see how we can use AVG and COUNT to get the values. The first record in this result set would then be #1, the second would be #2 etc.