Bom dia Senhores,
Fiz um código para extrair todos os FEEDBACKs das pesquisas de satisfação de todos os cursos do moodle. Como eu sou amante do opensource, resolvi compartilhar aqui porque pode ser útil no futuro para alguém. Lino, caso queira incluir no plugin, fique à vontade.
CONSULTA SQL PARA EXTRAIR TODOS OS COMENTÁRIOS DAS PESQUISAS DE SATISFAÇÃO (FEEDBACK) DO MOODLE
SELECT mdl_course.fullname AS CURSO,
mdl_feedback_value.value AS COMENTARIOS
FROM mdl_feedback
INNER JOIN mdl_feedback_item ON mdl_feedback.id = mdl_feedback_item.feedback
INNER JOIN mdl_feedback_value ON mdl_feedback_item.id = mdl_feedback_value.item
INNER JOIN mdl_course ON mdl_feedback.course = mdl_course.id
WHERE mdl_feedback_value.value IS NOT NULL
AND mdl_feedback_value.value <> ''
AND NOT mdl_feedback_value.value IN (1, 2, 3, 4, 5)
CONSULTA SQL PARA EXTRAIR TODAS AS NOTAS DAS PESQUISAS DE SATISFAÇÃO (FEEDBACK) DO MOODLE
SELECT
mdl_course.fullname AS CURSO,
FORMAT(ROUND(AVG(CASE mdl_feedback_value.value
WHEN 1 THEN 5
WHEN 2 THEN 4
WHEN 3 THEN 3
WHEN 4 THEN 2
WHEN 5 THEN 1
ELSE mdl_feedback_value.value
END), 1), 1, 'pt_BR') AS MEDIA,
COUNT(CASE mdl_feedback_value.value WHEN 5 THEN 1 END) AS NOTA_1,
COUNT(CASE mdl_feedback_value.value WHEN 4 THEN 1 END) AS NOTA_2,
COUNT(CASE mdl_feedback_value.value WHEN 3 THEN 1 END) AS NOTA_3,
COUNT(CASE mdl_feedback_value.value WHEN 2 THEN 1 END) AS NOTA_4,
COUNT(CASE mdl_feedback_value.value WHEN 1 THEN 1 END) AS NOTA_5,
COUNT(*) AS TOTAL
FROM mdl_feedback
INNER JOIN mdl_feedback_item ON mdl_feedback.id = mdl_feedback_item.feedback
INNER JOIN mdl_feedback_value ON mdl_feedback_item.id = mdl_feedback_value.item
INNER JOIN mdl_course ON mdl_feedback.course = mdl_course.id
WHERE mdl_feedback_value.value IS NOT NULL AND mdl_feedback_value.value <> '' AND mdl_feedback_value.value IN (1, 2, 3, 4, 5)
GROUP BY mdl_course.fullname;
****** Eu inverti as notas (5 vira 1, 1 vira 5) porque na minha pesquisa estavam ao contrário, não sei se é o padrão, mas qualquer coisa é só retirar essa parte.