Группировка
CREATE TABLE marks (mark_id SERIAL PRIMARY KEY, mark_value INTEGER, name_of_student TEXT);INSERT INTO marks (mark_value, name_of_student) VALUES (5, 'Maxim');
INSERT INTO marks (mark_value, name_of_student) VALUES (5, 'Maxim');
INSERT INTO marks (mark_value, name_of_student) VALUES (3, 'Maxim');
INSERT INTO marks (mark_value, name_of_student) VALUES (4, 'Maxim');
INSERT INTO marks (mark_value, name_of_student) VALUES (3, 'Nina');
INSERT INTO marks (mark_value, name_of_student) VALUES (2, 'Nina');
INSERT INTO marks (mark_value, name_of_student) VALUES (3, 'Nina');SELECT name_of_student AS student, AVG(mark_value) AS middle_mark FROM marks GROUP BY name_of_student;SELECT name_of_student AS student, AVG(mark_value) AS middle_mark FROM marks
GROUP BY name_of_student HAVING AVG(mark_value) >= 4;Last updated