資料庫基礎
銷售表格(門市, 金額)中有(A, 500)、(A, 700)、(B, 300)、(B, 400)、(C, 1200)、(D, 200)、(D, 900)共7筆資料列。SELECT 門市, SUM(金額) FROM 銷售 GROUP BY 門市 HAVING SUM(金額) >= 1000 的結果有幾筆資料列?
- A1筆
- B3筆
- C4筆
查看答案與解析
正確答案:B. 3筆
以 GROUP BY 門市 依門市分組後,合計分別為A:500 + 700 = 1200、B:300 + 400 = 700、C:1200、D:200 + 900 = 1100,共4個群組。HAVING SUM(金額) >= 1000 只保留合計在1000以上的群組,因此結果為A、C、D共3筆。1筆是像 WHERE 金額 >= 1000 這樣,在分組前以每筆資料列的金額篩選時的結果(只有C)。4筆是不加HAVING時的群組數。
- A. 這是只選出單筆金額在1000以上之資料列(以WHERE篩選)時的結果。
- B. 正確。合計在1000以上的是A(1200)、C(1200)、D(1100)共3筆。
- C. 這是以HAVING篩選前的群組數。合計為700的B會被排除。