• IF OBJECT_ID('tempdb..#TempTable') IS NOT NULL

    DROP TABLE #TempTable

    CREATE TABLE #TempTable (

    [ID] INT IDENTITY(1,1) NOT NULL,

    [MemberID] INT NULL,

    [Event] NVARCHAR(50) NULL,

    [EventDate] DATETIME NULL,

    PRIMARY KEY (ID))

    INSERT INTO #TempTable

    SELECT 1,'Test Event1','2012-03-20 05:39:51' UNION ALL

    SELECT 1,'Test Event1','2012-03-21 05:39:51' UNION ALL

    SELECT 1,'Test Event1','2012-03-22 05:39:51' UNION ALL

    SELECT 3,'Test Event3','2012-03-23 05:39:51' UNION ALL

    SELECT 2,'Test Event2','2012-03-24 05:39:51' UNION ALL

    SELECT 2,'Test Event2','2012-03-19 05:39:51' UNION ALL

    SELECT 1,'Test Event1','2012-03-23 05:49:51' UNION ALL

    SELECT 3,'Test Event3','2012-03-23 05:49:51' UNION ALL

    SELECT 4,'Test Event4','2012-03-27 05:39:51' UNION ALL

    SELECT 3,'Test Event3','2012-03-21 05:39:51'

    SELECT

    r.MemberID

    ,r.Event

    ,r.EventDate

    FROM

    (

    SELECT

    ROW_NUMBER() OVER (PARTITION BY MemberID ORDER BY EventDate DESC) AS RowNum

    ,MemberID

    ,Event

    ,EventDate

    FROM

    #TempTable

    ) r

    WHERE

    RowNum <= 2