• I figured it out. I came up with the following:

    RANKING AS

    (

    SELECT

    ROW_NUMBER() OVER(PARTITION BY d.Patient ORDER BY d.visits DESC) AS row_num,

    d.Provider,

    d.Patient,

    d.visits

    FROM DETAILS d

    )

    SELECT

    *

    FROM RANKING r

    WHERE r.row_num = 1

    ORDER BY r.Provider;