• Just to help restate the task in more formal way let's start with this (not tested due to lack of DDL and sample data script)

    -- Date interval params

    declare @sd date ='20130101';

    declare @ed date ='20150101';

    -- get a set of (Name, ID)s which have any changes in Grade or sec

    -- over the interval

    select Name, ID

    from Tracking_changes

    where Systemdate between @sd and @ed

    group by Name, ID

    having max(Grade) <> min(Grade) or max(sec) <> min(sec);

    Is it a step in right direction?