2016-04-05 5 views
0

何が見つかりませんか? MOODLEでコースを修了した学生の 私はfollwingクエリ使用しています:STUDENT_IDとして学生が修了したコースの数.. MOODLE

エレクトmu.idを、mcc.userid = mu.id mc.id = MCCのmdl_courseのMCを登録しよ上mdl_course_completionsのMCCに参加mdl_userミューからcompleted_courseとして(mcc.course)カウント。コースWHERE mcc.userid = $ user_id group by mu.id

答えて

0

結果は1つのユーザーID(WHERE mcc.userid = $ user_id)に制限されているようですが、複数の学生の詳細を取得したいと考えています。

各学生+コースの組み合わせごとにmdl_course_completionsテーブルが1つしかないので、実際にはmdl_courseまたはmdl_userテーブルに参加する必要はありません。

ただし、「timecompleted」フィールドには、ヌルでないことを確認するための制限を追加する必要があります(mdl_course_completionsレコードは、生徒がコースを開始したときに作成され、タイムインタイムとタイムスタンプを記録します。タイムコンプリートフィールドも同様に設定されます)。

これはあなたを与える必要があります。各学生が完了した数のコースを一覧表示されます

SELECT userid AS student_id, COUNT(*) AS completed_courses 
FROM mdl_course_completions 
WHERE timecompleted IS NOT NULL 

場合は、代わりに(と質問の開始時に述べたように)、あなたは少なくとも1つのコースを完了している学生の数をしたい、クエリは次のようになります。

SELECT DISTINCT(userid) 
FROM mdl_course_completions 
WHERE timecompleted IS NOT NULL 
関連する問題