Использование foreach в SQL-запросе, объектно-ориентированная база данных - PullRequest
2 голосов
/ 19 октября 2011

Ниже приведена схема для базы данных в объектно-ориентированной настройке.Каждое отношение становится коллекцией объектов.Студент - это человек, а факультет - это тоже человек.Они показаны в виде направленных ребер, помеченных как «isa».Все остальные направленные ребра показывают ссылочные атрибуты.Обратите внимание, что атрибут PreReq в курсе - это набор ссылок.

enter image description here

Это запрос, который мне нужно написать: Для каждой классификации укажите количество студентов и средний средний балл.В запросе нельзя использовать константы, например «Первокурсник».В выходных данных каждый кортеж должен состоять из Classification, NumOfStudents и AvgGPA.

Думаю, я смог бы сделать это, если бы смог использовать константы.Я думаю, что какой-то foreach будет работать для классификации, но я не могу понять, как это сделать.Обратите внимание, что запрос должен быть написан с использованием основного синтаксиса MySQL.

1 Ответ

1 голос
/ 19 октября 2011

Попробуйте это:

SELECT Classification, COUNT(*), AVG(GPA) 
FROM Student 
GROUP BY Classification

Похоже, что должны быть какие-то внешние ключи, потому что может потребоваться объединение таблицы Person, но я не вижу их в дизайне.По крайней мере, функции group by и avg и count должны помочь вам выбрать правильный путь.

...