#postgresql
#postgresql
Вопрос:
Я пытаюсь создать приведенный ниже запрос и получаю сообщение об ошибке: ОШИБКА: синтаксическая ошибка в СТРОКЕ 5 «GROUP» или рядом с ней: ГРУППА ПО s.level и e.grade ^ Состояние SQL: 42601 Символ: 107
GradeLevel: для уровня каждого учащегося (т.Е. ugrad / grad) сгруппируйте и подсчитайте оценки зачисленных курсов учащегося (вы можете объединить таблицы, зарегистрироваться и студент, затем сгруппировать по двум столбцам: уровень (учащиеся) и оценка (зачисление), затем подсчитайте; вы также можете использовать просмотр зачетной книжки). В представлении должны отображаться следующие переменные: уровень (учащиеся), оценка, количество.
CREATE VIEW gradelevel AS
SELECT s.level, e.grade
FROM students s
INNER JOIN enroll e USING (student_id);
GROUP BY s.level and e.grade
SELECT * FROM gradelevel;
Комментарии:
1. Просто удалите знак вопроса после
USING (student_id)
и переместите его послеGROUP BY s.level and e.grade
. Голосование за закрытие этого как опечатка.2. Новая ошибка: ОШИБКА: аргумент И должен быть типа boolean, а не типа text СТРОКА 5: ГРУППИРОВКА ПО s.level и e.grade; ^ Состояние SQL: 42804 Символ: 115
Ответ №1:
CREATE VIEW gradelevel AS (
SELECT s.level, e.grade, COUNT(*)
FROM students s
INNER JOIN enroll e USING (student_id)
GROUP BY s.level, e.grade
);
SELECT * FROM gradelevel;
Комментарии:
1. Я заметил, что пропустил оценки подсчета. Подсчитайте оценку зачисленных курсов студента. Как я могу добавить количество? Спасибо всем.
2.
SELECT s.level, e.grade, COUNT(*)
в строке выбора