From 6698e7c635a163786b40ca03542350e44ef04ff8 Mon Sep 17 00:00:00 2001 From: esoe Date: Tue, 25 Apr 2023 13:16:28 +0300 Subject: [PATCH] qq --- dsk05-task.md | 15 ++++++ src/main/puml/ERD-moodle.png | Bin 0 -> 13866 bytes src/main/puml/moodle-erd.puml | 37 +++++++++++++++ src/main/sql/script.sql | 86 ++++++++++++++++++++++++++++++++++ 4 files changed, 138 insertions(+) create mode 100644 dsk05-task.md create mode 100644 src/main/puml/ERD-moodle.png create mode 100644 src/main/puml/moodle-erd.puml diff --git a/dsk05-task.md b/dsk05-task.md new file mode 100644 index 0000000..a792b4e --- /dev/null +++ b/dsk05-task.md @@ -0,0 +1,15 @@ +Прошу сделать выгрузку по следующим вопросам: +1. Сколько человек приняло участие в тестировании (всего). + +-- участвовали в тестировании (имеют попытку сдачи) --> 345 +SELECT count(DISTINCT mdl_user.id) +FROM mdl_quiz_attempts +LEFT JOIN mdl_user +on mdl_quiz_attempts.userid=mdl_user.id +WHERE username LIKE "dsk05-%"; + + +2. Результат по каждой группе тестов, на каждого специалиста +3. Время прохождения тестов по каждому специалисту (на каждую группу в отдельности и общее время на весь этап тестирования). +4. Список лиц, которые вообще не начали похождение тестов. +(сделал в заявке) diff --git a/src/main/puml/ERD-moodle.png b/src/main/puml/ERD-moodle.png new file mode 100644 index 0000000000000000000000000000000000000000..dd61721586769fd5cf1eeff8e36fd9fc10e67d80 GIT binary patch literal 13866 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 x +!define foreign_key(x) <&key> x +!define column(x) <&media-record> x +!define table(x) entity x << (T, white) >> + +title "Entity Relationship Diagram (ERD): moodle" +entity "mdl_user" as users +entity "mdl_quiz_attempt" as attempts +entity "mdl_quiz" as quizes + +' Отношения +table(users){ + primary_key(id):INTEGER + column(username):VARCHAR + column(email):VARCHAR +} + +table(attempts){ + primary_key(id):INTEGER + foreign_key(quiz):INTEGER + foreign_key(userid):INTEGER + column(attempt):INTEGER + column(timestart):DATE + column(timefinish):DATE + column(sumgrades):DECIMAL +} + +table(quizes){ + primary_key(id):INTEGER + column(name):VARCHAR +} + +' Связи +users ||--|{ attempts +quizes ||--|{ attempts +@enduml diff --git a/src/main/sql/script.sql b/src/main/sql/script.sql index 3e9fe36..9ccb467 100644 --- a/src/main/sql/script.sql +++ b/src/main/sql/script.sql @@ -1,7 +1,93 @@ +-- назначенные аккаунты SELECT id, username, email FROM mdl_user +where username LIKE "dsk05-%"; + +-- всего назначео аккаунтов --> 1121 +SELECT count(*) +FROM mdl_user +WHERE username LIKE "dsk05-%"; + +-- участвовали в тестировании (имеют попытку сдачи) --> 345 +SELECT count(DISTINCT mdl_user.id) +FROM mdl_quiz_attempts +LEFT JOIN mdl_user +on mdl_quiz_attempts.userid=mdl_user.id +WHERE username LIKE "dsk05-%"; + +-- перечень тестов, которые сдавали +SELECT mdl_quiz.name, mdl_quiz.id +FROM mdl_quiz_attempts +LEFT JOIN mdl_user on mdl_quiz_attempts.userid=mdl_user.id +LEFT JOIN mdl_quiz on mdl_quiz_attempts.quiz=mdl_quiz.id +WHERE username LIKE "dsk05-%" +GROUP BY mdl_quiz.id; + +name id +Тестирование по п.32. Строительный контроль за общестроительными работами 19 +40. Строительный контроль при строительстве, реконструкции и капитальном ремонте объектов нефтяной и газовой промышленности 27 +1.2. Земляные работы 50 +1.1. Подготовительные работы 51 +1.4. Свайные работы 53 +1.5. Искусственное закрепление грунтов 54 +1.6. Монтаж и устройство бетонных, железобетонных, сборных бетонных, сборных железобетонных, и монолитных конструкций 55 +1.8. Монтаж металлических конструкций 57 +1.10. Защита строительных конструкций 59 +46.3 Организация строительства (начальник ПТО, линейный работник) 104 +49.1 Монтаж магистральных и промысловых трубопроводов 107 +51. Контроль качества сварных соединений и изоляции 108 +65. Особенности выполнения строительных работ в условиях вечной мерзлоты 111 + +-- Вывод результатов по одному тесту >> 19 +-- пользователи имеющие результаты --> результаты без пустых строк +SELECT mdl_user.username, + quiz, + userid, + attempt, + FROM_UNIXTIME(timestart), + FROM_UNIXTIME(timefinish), + mdl_quiz_attempts.sumgrades, + DATE_FORMAT(FROM_UNIXTIME(timefinish - timestart), '%imin:%ssec') as "lost-time" +FROM mdl_quiz_attempts +LEFT JOIN mdl_user on mdl_quiz_attempts.userid=mdl_user.id +LEFT JOIN mdl_quiz on mdl_quiz_attempts.quiz=mdl_quiz.id +WHERE username LIKE "dsk05-%" and mdl_quiz.id in(19); + +-- все пользователи --> результаты и пустые строки +SELECT mdl_user.username, + quiz, + userid, + attempt, + FROM_UNIXTIME(timestart), + FROM_UNIXTIME(timefinish), + mdl_quiz_attempts.sumgrades, + DATE_FORMAT(FROM_UNIXTIME(timefinish - timestart), '%imin:%ssec') as "lost-time" +FROM mdl_user +LEFT JOIN mdl_quiz_attempts on mdl_quiz_attempts.userid=mdl_user.id +LEFT JOIN mdl_quiz on mdl_quiz_attempts.quiz=mdl_quiz.id +WHERE username LIKE "dsk05-%" and mdl_quiz.id in(19); + +-- Общее время потраченое на тестирование +-- +SELECT mdl_user.username, + DATE_FORMAT(FROM_UNIXTIME(sum(timefinish - timestart)), '%hh:%imin:%ssec') as "Полное время тестирования", + count(*) as "Количество тестов" +FROM mdl_user +LEFT JOIN mdl_quiz_attempts on mdl_quiz_attempts.userid=mdl_user.id +LEFT JOIN mdl_quiz on mdl_quiz_attempts.quiz=mdl_quiz.id +WHERE username LIKE "dsk05-%" +GROUP BY mdl_user.username +HAVING DATE_FORMAT(FROM_UNIXTIME(sum(timefinish - timestart)), '%hh:%imin:%ssec') is not null; + +-- все тесты SELECT id, name FROM mdl_quiz; + +-- все данные о попытках SELECT id, quiz, userid, attempt, timestart, timefinish, sumgrades FROM mdl_quiz_attempts; + + + + -- для отчета --> WITH pure AS ( SELECT