| 41 | | u.user_name, |
| 42 | | u.user_surname, |
| 43 | | GROUP_CONCAT(e.result SEPARATOR ', ') AS results |
| 44 | | FROM |
| 45 | | Users u |
| 46 | | JOIN |
| 47 | | Experiment e ON u.user_id = e.user_id |
| 48 | | WHERE |
| 49 | | u.professor_username = 'profesor_username' -- Тука треба да се замени со корисничкото име |
| 50 | | GROUP BY |
| 51 | | u.user_name, u.user_surname; |
| | 38 | s.student_id, |
| | 39 | u.user_name || ' ' || u.user_surname AS full_name, |
| | 40 | e.experiment_id, |
| | 41 | e.result, |
| | 42 | up.participation_timestamp AS participation_time |
| | 43 | FROM Student s |
| | 44 | JOIN "User" u ON s.student_id = u.user_id |
| | 45 | JOIN UserParticipatesInExperiment up ON s.student_id = up.user_id |
| | 46 | JOIN Experiment e ON up.experiment_id = e.experiment_id |
| | 47 | ORDER BY u.user_name, up.participation_timestamp DESC; |
| | 48 | |
| | 83 | === Извештај за најчесто користени хемиски елементи во екпериментите === |
| | 84 | |
| | 85 | {{{#!sql |
| | 86 | SELECT |
| | 87 | el.element_name, |
| | 88 | COUNT(r.reaction_id) AS total_uses |
| | 89 | FROM Elements el |
| | 90 | JOIN Reaction r ON el.element_id = r.element1_id OR el.element_id = r.element2_id |
| | 91 | GROUP BY el.element_name |
| | 92 | ORDER BY total_uses DESC; |
| | 93 | |
| | 94 | }}} |
| | 95 | |
| | 96 | === Извештај за најчесто реализирани експерименти === |
| | 97 | |
| | 98 | {{{#!sql |
| | 99 | SELECT |
| | 100 | e.experiment_id, |
| | 101 | e.result, |
| | 102 | COUNT(up.user_id) AS student_participation |
| | 103 | FROM Experiment e |
| | 104 | JOIN UserParticipatesInExperiment up ON e.experiment_id = up.experiment_id |
| | 105 | GROUP BY e.experiment_id, e.result |
| | 106 | ORDER BY student_participation DESC; |
| | 107 | |
| | 108 | }}} |
| | 109 | |
| | 110 | === Извештај за студенти кои никогаш не учествувале во екперименти === |
| | 111 | |
| | 112 | {{{#!sql |
| | 113 | SELECT |
| | 114 | s.student_id, |
| | 115 | u.user_name || ' ' || u.user_surname AS full_name |
| | 116 | FROM Student s |
| | 117 | JOIN "User" u ON s.student_id = u.user_id |
| | 118 | LEFT JOIN UserParticipatesInExperiment up ON s.student_id = up.user_id |
| | 119 | WHERE s.teacher_id = :teacher_id -- Замени со ID на професорот |
| | 120 | AND up.user_id IS NULL; |
| | 121 | |
| | 122 | }}} |
| | 123 | |
| | 124 | === Извештај за студенти кои имаат учествувано во помалку од одреден број екперименти === |
| | 125 | |
| | 126 | {{{#!sql |
| | 127 | SELECT |
| | 128 | s.student_id, |
| | 129 | u.user_name || ' ' || u.user_surname AS full_name, |
| | 130 | COUNT(up.experiment_id) AS total_experiments |
| | 131 | FROM Student s |
| | 132 | JOIN "User" u ON s.student_id = u.user_id |
| | 133 | LEFT JOIN UserParticipatesInExperiment up ON s.student_id = up.user_id |
| | 134 | GROUP BY s.student_id, full_name |
| | 135 | HAVING COUNT(up.experiment_id) < 3 |
| | 136 | ORDER BY total_experiments ASC; |
| | 137 | |
| | 138 | }}} |
| | 139 | |
| | 140 | === Извештај за број на студенти по професор и просечен број на екперименти по студент === |
| | 141 | |
| | 142 | {{{#!sql |
| | 143 | SELECT |
| | 144 | t.teacher_id, |
| | 145 | u.user_name || ' ' || u.user_surname AS full_name, |
| | 146 | COUNT(DISTINCT s.student_id) AS total_students, |
| | 147 | COUNT(up.experiment_id) AS total_experiments, |
| | 148 | ROUND( |
| | 149 | COUNT(up.experiment_id) * 1.0 / NULLIF(COUNT(DISTINCT s.student_id), 0), 2 |
| | 150 | ) AS avg_experiments_per_student |
| | 151 | FROM Teacher t |
| | 152 | JOIN "User" u ON t.teacher_id = u.user_id |
| | 153 | LEFT JOIN Student s ON t.teacher_id = s.teacher_id |
| | 154 | LEFT JOIN UserParticipatesInExperiment up ON s.student_id = up.user_id |
| | 155 | GROUP BY t.teacher_id, full_name |
| | 156 | ORDER BY avg_experiments_per_student DESC; |
| | 157 | |
| | 158 | }}} |
| | 159 | |
| | 160 | === Извештај за број на студентите бројот на прегледани хемиски елементи и лабараториска опрема === |
| | 161 | |
| | 162 | {{{#!sql |
| | 163 | SELECT |
| | 164 | s.student_id, |
| | 165 | u.user_name || ' ' || u.user_surname AS full_name, |
| | 166 | COUNT(DISTINCT ue.element_id) AS total_elements_viewed, |
| | 167 | COUNT(DISTINCT ul.equipment_id) AS total_lab_equipment_viewed |
| | 168 | FROM Student s |
| | 169 | JOIN "User" u ON s.student_id = u.user_id |
| | 170 | LEFT JOIN UserViewsElement ue ON s.student_id = ue.user_id |
| | 171 | LEFT JOIN UserViewsLabEquipment ul ON s.student_id = ul.user_id |
| | 172 | GROUP BY s.student_id, full_name |
| | 173 | ORDER BY total_elements_viewed DESC, total_lab_equipment_viewed DESC; |
| | 174 | |
| | 175 | }}} |
| | 176 | |
| | 177 | |
| | 178 | |
| | 179 | |