2013-01-03 77 views
0

您好,我有一張表格,其中會自動計算任職期限的員工的任職期限(整數,以周計算)。然後我試圖每週都做一次平均任期。不過,我想限制一個員工可以擁有的最高期限爲20(以周爲單位)。SQL Select Case and Average

什麼我走這麼遠,這是,但它不工作:

SELECT week, 
AVG(CASE Tenure WHEN Tenure > '20' THEN '20' ELSE Tenure END) as Tenure 
FROM table 
GROUP BY week 
ORDER BY week 

我在正確的軌道上?請在這裏幫助我。我試着看過其他類似的問題,但沒有成功。

由於提前,

Giusepe莫雷諾

+1

與人這幾天比較數字字符串文字是什麼? –

+0

你的權利,我很新的SQL。我道歉。 –

+0

沒問題,我剛剛在SO上看到了一個非常強烈的趨勢(即你不是唯一的趨勢)。 –

回答

6

試試這個

SELECT week, 
AVG(CASE WHEN Tenure > 20 THEN 20 ELSE Tenure END) 
FROM table 
GROUP BY week 
ORDER BY week 
+0

我在我的實際查詢中添加了'結束'語句,我忘了在這裏添加它。 我收到此錯誤: Msg 102,Level 15,State 1,Line 3 '>'附近的語法不正確。 –

+0

使用方法和AVG相同(使用時候使用權> 20然後20使用權終止)不是使用權使用時 – hkutluay

+0

還沒有工作。錯誤:關鍵字'not'附近的語法不正確。感謝您試圖幫助我 –