2017-05-06 102 views
0

此基礎上一個檔次是我的查詢:需要幫助生成SQL Server查詢產生的平均分

SELECT 
    [rollNo], AVG([marks]) 
FROM 
    [dbo].[ALL_REC] 
GROUP BY 
    [rollNo] 

現在我需要的是幫助與計算如何返回成績得到了三等列。

我需要它是:

  1. 「A」的平均分超過90
  2. 用於平均分大於平均分小於80
  3. 「C」大於「B」大70.
  4. 'd' 爲平均分小於60
+2

提示:'CASE'表達。 –

回答

1
平均分大於60
  • 'F' 大

    使用CASE表達式。

    查詢

    SELECT 
        [rollNo], AVG([marks]) [Average], 
        CASE 
         WHEN AVG([marks]) >= 90 THEN 'A' 
         WHEN AVG([marks]) BETWEEN 80 AND 89 THEN 'B' 
         WHEN AVG([marks]) BETWEEN 70 AND 79 THEN 'C' 
         WHEN AVG([marks]) BETWEEN 60 AND 69 THEN 'D' 
         ELSE 'E' 
        END [Grade] 
    FROM [dbo].[ALL_REC] 
    GROUP BY [rollNo];