Просмотр запроса группы и подсчета

#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(*) в строке выбора