Para listar os usuários na Plataforma Moodle que estão inscritos em mais de um grupo cohort, execute no banco o seguinte comando:
SELECT u.id,u.username,u.firstname,u.lastname, u.email, COUNT(c.id) AS countcohort FROM mdl_user u INNER JOIN mdl_cohort_members cm ON cm.userid=u.id INNER JOIN mdl_cohort c ON c.id=cm.cohortid WHERE u.deleted=0 AND u.confirmed=1 GROUP BY u.id,u.username,u.firstname,u.lastname, u.email HAVING COUNT(c.id) > 1
A lista gerada no comando anterior são dos alunos que estão inscrito em mais de um grupo cohort. Caso queira remover esses usuários, siga os seguintes passos:
1) Gerar lista de usuários inscritos em mais de um grupo cohort com informação id id do usuário e do grupo cohort. Para isso execute comando SQL nesse link: http://comunidade.badiu.com.br/mod/forum/discuss.php?d=429
2) Para cada usuário com mais de um registro no grupo cohort, execute o seguinte comando:
DELETE FROM mdl_cohort_members WHERE userid=? AND cohortid=?
Passe parâmetro id do usuário em userid=? e id grupo cohort em cohortid=?
Para apagar membros do grupo cohort passando parâmetro id grupo cohort e username do usuário, execute o seguinte comando
DELETE FROM mdl_cohort_members WHERE cohortid=? AND userid IN (SELECT id FROM mdl_user WHERE username=?)
Passe parâmetro id grupo cohort em cohortid=? e username do usuário em username=?