• does it help?

    SET NOCOUNT ON;

    DECLARE @t TABLE (st_no INT, year INT, month INT, sal MONEY)

    INSERT INTO @t (st_no, year, month, sal) SELECT 1,2008,1,1000

    INSERT INTO @t (st_no, year, month, sal) SELECT 1,2008,2,1000

    INSERT INTO @t (st_no, year, month, sal) SELECT 1,2008,3,1000

    INSERT INTO @t (st_no, year, month, sal) SELECT 1,2008,4,1010

    INSERT INTO @t (st_no, year, month, sal) SELECT 1,2008,5,1010

    INSERT INTO @t (st_no, year, month, sal) SELECT 1,2008,6,1010

    INSERT INTO @t (st_no, year, month, sal) SELECT 1,2008,7,1010

    INSERT INTO @t (st_no, year, month, sal) SELECT 1,2008,8,1020

    ;WITH cte AS (

    SELECT *,

    ROW_NUMBER() OVER(PARTITION BY sal ORDER BY year, month, sal) AS seq

    FROM @t

    )

    SELECT year, month, sal, seq

    FROM cte

    WHERE seq = 1

    /*

    year month sal seq

    ----------- ----------- --------------------- --------------------

    2008 1 1000.00 1

    2008 4 1010.00 1

    2008 8 1020.00 1

    */

    .