не понял, как к ней подступиться, хотя она простая на мой взгляд. Такой вопрос, как бы вы решали задачу, если нужно получить имя, оценку, класс самого лучшего ученика по кол-во баллов(score) из каждого класса? То есть результат будет содержать по одному ученику каждого класса. Буду рад комментариям
Такая таблица
CREATE TABLE students (
id INTEGER PRIMARY KEY,
name VARCHAR(255) NOT NULL,
score INTEGER NOT NULL,
class INTEGER NOT NULL
);
INSERT INTO students(id, name, score, class) VALUES(1, 'Mark', 894, 7);
INSERT INTO students(id, name, score, class) VALUES(2, 'Bill', 894, 7);
INSERT INTO students(id, name, score, class) VALUES(3, 'Maria', 678, 8);
INSERT INTO students(id, name, score, class) VALUES(4, 'David', 733, 9);
INSERT INTO students(id, name, score, class) VALUES(5, 'John', 899, 9);
INSERT INTO students(id, name, score, class) VALUES(6, 'Rob', 802, 9);
group by
Ну вроде классическая задачка на GROUP BY и HAVING. Сгруппировать по классу, выбрать тех, у кого балл равен максимальному в группе
Обсуждают сегодня