SELECT NAME,POSITION,PRICE,[DATE]
FROM
(
SELECT *,MIN(CASE WHEN POSITION = 1 THEN NAME ELSE NULL END) OVER (PARTITION BY [DAte]) AS MinPos
FROM Table
)t
WHERE POSITION <=2
AND MinPos='GPW'
ORDER BY [DATE],POSITION
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/