Heim > Fragen und Antworten > Hauptteil
Fragen Sie jeden Benutzer ab, wenn die exam_publish_id (1, 2, 3) ist, und zählen Sie die Anzahl der verschiedenen Status, gruppiert nach user_id (d. h. der gleiche Status+1).
Der Tabellenaufbau ist wie folgt:
Erwarten Sie folgende Ergebnisse:
user_id status1 status2 status3
27047 2 1 0
27410 0 2 1
27047 1 1 1
怪我咯2017-05-24 11:34:47
终于试出来了。。。答案如下:
SELECT user_id, COUNT(IF(status=0,true, null)) AS 'right_count', COUNT(IF(status=1,true, null)) AS 'error_count', COUNT(IF(status=2,true, null)) AS 'absenteeism_count' FROM online_exam_user_detail WHERE exam_publish_id in (1, 2, 3) GROUP BY user_id;