Selecting max record for each user
The safest way to do this is with row_number
select MemberId, ContractId, StartDate, EndDate
from (select mc.*,
row_number() over (partition by MemberId order by contractId desc) seqnum
from Member_Contracts mc
) mc
where seqnum = 1
This handles the case of multiple contracts for the same member . . . which may not really be an issue in this data.
This solution uses the uniqueness of the ContractId field:
SELECT MemberID, ContractID, StartDate, EndDate
FROM member_contracts
WHERE ContractId IN (
SELECT MAX(ContractId)
FROM member_contracts
GROUP BY MemberId
)
See it working online: sqlfiddle