Дана таблица Exam (поля: Name, Class, Score):
1 | Алия | 10A | 85
2 | Бекзат | 10A | 62
3 | Данияр | 10B | 90
4 | Мадина | 10B | 74
5 | Ерлан | 10B | 68
6 | Айгерим | 10A | 78
Выполнен запрос:
SELECT Class, AVG(Score) FROM Exam WHERE Score >= 70 GROUP BY Class;
Какой результат будет получен?
Показать ответ и разборСкрыть ответ и разбор
Верный ответ
- B10A — 81,5; 10B — 82
Разбор
Сначала условие WHERE отбирает строки с Score >= 70: для 10A это 85 и 78, для 10B это 90 и 74 (записи 62 и 68 отброшены). Затем GROUP BY объединяет строки по классам, а AVG считает среднее: для 10A (85 + 78) / 2 = 81,5, для 10B (90 + 74) / 2 = 82. Значения «10A — 75; 10B — 77,3» получаются без учёта WHERE, «10A — 163; 10B — 164» — это суммы (SUM), «10A — 2; 10B — 2» — количество записей (COUNT). Верный результат: «10A — 81,5; 10B — 82».