2016-04-18 14 views

答えて

2

あなたはどのように最も一般的なものを定義しますか?おそらく最も人気のあるものを定義する最も有用な方法である登録番号があります。

SELECT COUNT(*) AS enrolments, c.id, c.fullname 
FROM mdl_course c 
JOIN (SELECT DISTINCT e.courseid, ue.id AS userid 
     FROM mdl_user_enrolments ue 
     JOIN mdl_enrol e ON e.id = ue.enrolid) ue ON ue.courseid = c.id 
GROUP BY c.id, c.fullname 
ORDER BY 1 DESC, c.fullname 

アップデート:私はフィールド番号が登録見つけるだろう、このMoodleの

$sql = "SELECT c.id, c.fullname, COUNT(*) AS enrolments 
     FROM mdl_course c 
     JOIN (SELECT DISTINCT e.courseid, ue.id AS userid 
       FROM {user_enrolments} ue 
       JOIN {enrol} e ON e.id = ue.enrolid) ue ON ue.courseid = c.id 
     GROUP BY c.id, c.fullname 
     ORDER BY 3 DESC, c.fullname"; 
$course = $DB->get_record_sql($sql, array(), IGNORE_MULTIPLE); 

echo $course->fullname; 
+0

内部のどのテーブルで

でしょうか? –

+0

上記のクエリでは、enrollmentsは登録ユーザー数です。 –

+0

これは、登録数によらず、あまりにもランダムな順番のすべてのコースの名前を示しています。 –

関連する問題