2016-05-16 27 views
-1

如何編寫如下表下面給出結果的查詢,是指當一個人擁有93年的紀錄只是顯示,但如果沒有記錄給今年92查詢該表

表: enter image description here

結果: enter image description here

+2

你的問題是什麼?你到目前爲止嘗試過什麼? – Blank

+0

如何編寫提供此結果的查詢? – SajjadZare

+2

請詳細說明您的問題。目前尚不清楚你的問題是什麼。 – manniL

回答

1

您可以使用ROW_NUMBER()CASE EXPRESSION

SELECT t.code,t.name,t.year 
FROM (SELECT s.*,ROW_NUMBER() OVER (PARTITION BY s.name 
            ORDER BY CASE WHEN s.year = 92 then 1 
                WHEN s.year = 93 then 2 
                ELSE 3 
              END) as rnk 
     FROM YourTable s) t 
WHERE t.rnk = 1 

我還帶了多年的情況92,93(優先次數最後)