2013-11-04 132 views
0

我有一個表,如下所示:SQL:如何編寫查詢以下

FA_Name| SP_Name | ALIAS_Name 
------------------------------ 
FA1 | SP1 | a1 
FA1 | SP1 | a2 
FA1 | SP2 | a3 
FA1 | SP2 | a4 
FA1 | SP3 | a5 
FA1 | SP3 | a6 

我只想檢索對於給定FA_Name每個不同的「SP_NAME」的第一ALIAS_NAME記錄。這意味着,我必須獲取記錄如下:

FA1 | SP1 | a1 
FA1 | SP2 | a3 
FA1 | SP3 | a5 

請幫我寫SQl查詢相同。謝謝。

+0

對於確切的數據,你可以與可能逃脫'選擇FA_Name,SP_NAME,MIN(ALIAS_NAME)FROM TABLE_NAME GROUP BY Fa_Name,SP_Name'。 –

+0

感謝您的回覆。那只是我給出的樣本數據。所有的都是varchar(100)列。它可以是任何數據。 – user1587872

回答

0

我得到的答案相同,如下:

WITH duplicate AS 
(
SELECT fu_area, sp_name, analysis_name, ROW_NUMBER() OVER(PARTITION BY fu_area, sp_name 
ORDER BY fu_area, sp_name, analysis_name) AS _dupe_num 
FROM temp_rrr_test_111 WHERE 1=1 
) 
select * FROM duplicate WHERE _dupe_num = 1