Cơ sở dữ liệu ‘‘QuanLyTuyenSinh’’có bảng: DiemKhoiA(SoBaoDanh Nvarchar(50), DiemToan Float, DiemLy Float, DiemHoa Float, DiemUuTien Float, TongDiem Float, KetQua Nvarchar(50)) .Câu lệnh cho biết với mỗi loại tổng điểm có bao nhiêu thí sinh?
Trả lời:
Đáp án đúng: A
Câu hỏi yêu cầu đếm số lượng thí sinh cho mỗi loại tổng điểm khác nhau. Để làm được điều này, ta cần sử dụng mệnh đề `GROUP BY` để nhóm các thí sinh có cùng `TongDiem` lại với nhau, sau đó sử dụng hàm `count()` để đếm số lượng thí sinh trong mỗi nhóm. Câu lệnh SQL đúng phải là `SELECT TongDiem, count(*) FROM DiemKhoiA GROUP BY TongDiem`.
* **Đáp án A:** Đúng. Câu lệnh này sử dụng `GROUP BY TongDiem` để nhóm các hàng có cùng giá trị `TongDiem`, sau đó sử dụng `count()` để đếm số lượng hàng trong mỗi nhóm, tức là số lượng thí sinh có cùng tổng điểm.
* **Đáp án B:** Sai. Mệnh đề `WHERE TongDiem = count(TongDiem)` là sai cú pháp và không có ý nghĩa trong ngữ cảnh này. Nó cố gắng so sánh giá trị của `TongDiem` với kết quả của hàm `count(TongDiem)` cho toàn bộ bảng, điều này không hợp lý.
* **Đáp án C:** Sai. Mệnh đề `WHERE TongDiem` không đầy đủ và sẽ gây ra lỗi. Mệnh đề `WHERE` cần một biểu thức logic để lọc các hàng, nhưng chỉ có `TongDiem` mà không có toán tử so sánh hoặc giá trị cụ thể.
* **Đáp án D:** Sai. Câu lệnh này chỉ đếm tổng số lượng thí sinh (số lượng hàng) trong bảng `DiemKhoiA` mà không phân biệt theo `TongDiem`, không đáp ứng yêu cầu của câu hỏi.