đọc code python hiển thị số lượt thi
code sql biết toàn bộ list thí sinh đã thi bao nhiêu lần nhé . sql postgre nhé. data base quiz_questions
Chào bạn, dưới đây là câu lệnh SQL PostgreSQL để thống kê số lượt thi của toàn bộ danh mục thí sinh.
Dựa vào mã nguồn Flask bạn cung cấp, hệ thống của bạn quản lý lượt thi chính thức (chế độ exam) qua bảng exam_sessions_v2, sử dụng tổ hợp thông tin gồm họ tên (username), số báo danh (sbd), và danh mục đề tài (category).
1. Câu lệnh SQL liệt kê số lần thi của từng thí sinh theo từng đề tài
Câu lệnh này sẽ nhóm theo Số báo danh, Họ tên, Danh mục đề tài và đếm (COUNT) xem họ đã thực hiện bao nhiêu phiên thi trên hệ thống:
SELECT
sbd AS "Số Báo Danh",
username AS "Họ và Tên",
category AS "Danh Mục Đề Tài",
COUNT(id) AS "Số Lượt Đã Thi"
FROM
exam_sessions_v2
GROUP BY
sbd,
username,
category
ORDER BY
category ASC,
COUNT(id) DESC,
username ASC;
2. Mở rộng: Thống kê kèm theo danh sách thí sinh gốc (Bao gồm cả người chưa thi)
Nếu bạn muốn xem tất cả thí sinh hiện có trong bảng students (kể cả những người chưa thi lượt nào, hiển thị bằng số 0), bạn có thể dùng lệnh LEFT JOIN dưới đây:
SELECT
s.sbd AS "Số Báo Danh",
s.fullname AS "Họ và Tên",
COALESCE(e.category, 'Chưa tham gia đề nào') AS "Danh Mục Đề Tài",
COUNT(e.id) AS "Số Lượt Đã Thi"
FROM
students s
LEFT JOIN
exam_sessions_v2 e ON s.sbd = e.sbd AND s.fullname = e.username
GROUP BY
s.sbd,
s.fullname,
e.category
ORDER BY
"Số Lượt Đã Thi" DESC,
s.fullname ASC;
💡 Lưu ý thêm từ Code của bạn:
Lệnh trên chỉ đếm các lượt Thi chính thức (
exam_sessions_v2).Nếu bạn muốn đếm cả số lượt Luyện tập tự do, bạn chỉ cần thay tên bảng thành
practice_sessionstrong các câu lệnh SQL ở trên là được

