0

最初の画像は私のクエリ出力です。次に、2番目の画像のようになるように被写体をグループ化します。出来ますか?助けてくれてありがとう。

select Subject, Grade, case when Grade >= 50 Then '1' else '0' end as Pass, case when Grade < 50 Then '1' else '0' end as Fail from Grade_report

出力:

ここに画像の説明を入力してください

私が欲しいのは:

ここに画像の説明を入力してください

4

1 に答える 1

0

あなたの仕様はあまり正確ではありません。マージされたレコードのグレードに何個期待しますか?1または0を書き込むか、合格列と不合格列の合計を集計する必要がありますか?

以下はあなたの出力を生成します、それはMAXグレードとSUM合格/不合格情報のためにかかります:

WITH GradePassFail AS (
    SELECT 
        Subject, 
        Grade, 
        CASE WHEN Grade >= 50 THEN 1 ELSE 0 END AS Pass, 
        CASE WHEN Grade < 50 THEN 1 ELSE 0 END AS Fail 
    FROM Grade_report
)
SELECT Subject, MAX(Grade) AS Grade, SUM(Pass) AS Pass, SUM(Fail) AS Fail
FROM GradePassFail
GROUP BY Subject
于 2012-08-04T18:55:24.693 に答える