2016-04-05 4 views
0

Что бы вы искали? студентов, которые закончили курсы в MOODLE? я использую follwing запрос:Количество курсов, выполненных student..MOODLE

избранный mu.id как student_id, граф (mcc.course) в качестве completed_course от mdl_user му присоединиться к mdl_course_completions ЦУП в mcc.userid = mu.id РЕГИСТРИРУЙТЕСЬ mdl_course тс на mc.id = МКЦ. Конечно WHERE mcc.userid = $ user_id group от mu.id

ответ

0

Я заметил, что вы, кажется, ограничили результаты только одним идентификатором пользователя (WHERE mcc.userid = $ user_id), поэтому вам, вероятно, следует удалить это ограничение, если вы хотите получить подробную информацию о более чем одном студенте.

Вам не обязательно присоединяться к таблицам mdl_course или mdl_user, так как для каждой комбинации ученика + курса есть только одна таблица mdl_course_completions.

Вы должны, однако, добавить ограничение на поле «timecompleted», чтобы убедиться, что оно не является нулевым (записи mdl_course_completions создаются, когда студент начинает курсировать, записывать время и время, когда курс завершается также заполненное timecompleted поле).

Это должно дать вам:

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

Какой перечислит число курсов каждый студент отработал.

Если, вместо этого (и, как указано в начале этого вопроса), вы хотите, количество студентов, которые закончили по крайней мере один курс, то запрос будет:

SELECT DISTINCT(userid) 
FROM mdl_course_completions 
WHERE timecompleted IS NOT NULL 
Смежные вопросы