Главная  >  Cервисы  >  Учебные курсы
Форум

Иконка Stepik Stepik

Вопросы и ответы по «Stepik»
🔍

Интерактивный тренажер по SQL

Задание
Случайным образом выбрать три вопроса (запрос) по дисциплине, тестирование по которой собирается проходить студент, занесенный в таблицу attempt последним, и добавить их в таблицу testing. id последней попытки получить как максимальное значение id из таблицы attempt.

Фрагмент логической схемы базы данных



Пояснение. Обозначенная связь показывает способ соединения таблиц.

Корректируемая таблица:



Результат (при выполнении запроса номера вставленных вопросов будут отличаться от образца, поскольку выбираются случайным образом):

Affected rows: 3

Query result:
+------------+------------+-------------+-----------+
| testing_id | attempt_id | question_id | answer_id |
+------------+------------+-------------+-----------+
| 1 | 1 | 9 | 25 |
| 2 | 1 | 7 | 19 |
| 3 | 1 | 6 | 17 |
| 4 | 2 | 3 | 9 |
| 5 | 2 | 1 | 2 |
| 6 | 2 | 4 | 11 |
| 7 | 3 | 6 | 18 |
| 8 | 3 | 8 | 24 |
| 9 | 3 | 9 | 28 |
| 10 | 4 | 1 | 2 |
| 11 | 4 | 5 | 16 |
| 12 | 4 | 3 | 10 |
| 13 | 5 | 2 | 6 |
| 14 | 5 | 1 | 2 |
| 15 | 5 | 4 | 12 |
| 16 | 6 | 6 | 17 |
| 17 | 6 | 8 | 22 |
| 18 | 6 | 7 | 21 |
| 19 | 7 | 1 | 3 |
| 20 | 7 | 4 | 11 |
| 21 | 7 | 5 | 16 |
| 22 | 8 | 6 | None |
| 23 | 8 | 8 | None |
| 24 | 8 | 7 | None |
+------------+------------+-------------+-----------+
Текст задания (чтобы не прокручивать страницу) :

Случайным образом выбрать три вопроса (запрос) по дисциплине, тестирование по которой собирается проходить студент, занесенный в таблицу attempt последним, и добавить их в таблицу testing.id последней попытки получить как максимальное значение id из таблицы attempt.
Альбина      19.11.2020 17:16
0
3
  Вопрос закрыт!

Ответы на вопрос:

Сортировать по:
времени
Альбина#163 19.11.2020, 20:09
1
0
insert into testing(attempt_id, question_id)
select attempt_id, question.question_id from question
join subject on subject.subject_id=question.subject_id
join attempt on attempt.subject_id=question.subject_id
where subject.subject_id=2 and attempt_id=(select max(attempt_id) from attempt)
order by rand()
limit 3
Вопрос и ответы были вам полезны?   Да    Нет

Похожие вопросы:

Добавить ответ

Ваше имя:

Недопустимо использовать маты, писать сообщения БОЛЬШИМИ БУКВАМИ, с грубыми ошибками и не по теме вопроса.
В ответ на сообщение Нет
+ Фото
Текст с картинки:




Задать вопрос