SELECT * FROM (
  SELECT *, ROW_NUMBER() OVER (/**orderby**/) AS RowNumber FROM (
    SELECT d.*, COUNT(r.DinnerID) AS RsvpCount 
    FROM Dinners d LEFT OUTER JOIN RSVP r ON d.DinnerID = r.DinnerID 
    /**where**/
    GROUP BY d.DinnerID, d.Title, d.EventDate, d.Description, d.HostedById, d.HostedBy, d.ContactPhone, d.Address, d.Country, d.Latitude, d.Longitude
    ) as X 
  ) as Y
WHERE RowNumber BETWEEN @start AND @finish"