SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
CREATE TABLE subjects ( id INT, name VARCHAR(100), teacher VARCHAR(100), cabinet INT ); INSERT INTO subjects (Id, Name, Teacher, Cabinet) VALUES (1001, 'Алгебра', 'Чичкина Ольга Александровна', 431), (1002, 'Биология', 'Андреева Анна Тимофеевна', 522), (1003, 'Химия', 'Локтева Татьяна Александровна', 123), (1004, 'Иностранный язык', 'Антоненко Елена Владимировна', 437), (1005, 'География', 'Иванова Людмила Александровна', 501), (1006, 'Физическая культура', 'Кривошея Тамара Яковлевна', 236), (1007, 'Физика', 'Котляренко Людмила Александровна', 141); CREATE TABLE diary ( id INT, student VARCHAR(100), mark INT, subj_id INT, date_mark DATE ); INSERT INTO diary (Id, Student, Mark, Subj_id, Date_mark) VALUES (2001, 'Ансимова Елизавета Андреевна', 5, 1001, '2015-01-10'), (2002, 'Беляев Матвей Артёмович', 4, 1000, '2015-01-10'), (2003, 'Боленский Василий Борисович', 2, 1003,'2015-01-10'), (2004, 'Фазуллина Дина Фанилевна', 4, 1004, '2015-01-10'), (2005, 'Халитова Рената Булатовна', 5, 1009, '2015-01-10'), (2006, 'Маслюков Дмитрий Владимирович', 3, 1007, '2015-01-10'), (2007, 'Халитова Рената Булатовна', 4, 1005, '2015-01-10'), (2008, 'Фазуллина Дина Фанилевна', 3, 1003, '2015-01-10'), (2009, 'Халитова Рената Булатовна', 5, 1005, '2015-01-10'), (2010, 'Беляев Матвей Артёмович', 2, 1004, '2015-01-10'), (2011, 'Маслюков Дмитрий Владимирович', 3, 1004, '2015-01-10'), (2012, 'Фазуллина Дина Фанилевна', 5, 1007, '2015-01-10'), (2013, 'Боленский Василий Борисович', 4, 1002, '2015-01-10'), (2014, 'Халитова Рената Булатовна', 5, 1002, '2015-01-10'), (2015, 'Фазуллина Дина Фанилевна', 5, 1001, '2015-01-10'), (2016, 'Маслюков Дмитрий Владимирович', 4, 1001, '2015-01-10'), (2017, 'Ансимова Елизавета Андреевна', 4, 1005, '2015-01-10'), (2018, 'Боленский Василий Борисович', 3, 1003, '2015-01-10'), (2019, 'Ансимова Елизавета Андреевна', 5, 1007, '2015-01-10'), (2020, 'Беляев Матвей Артёмович', 2, 1004, '2015-01-10'); SELECT char_length(dia.student) FROM subjects AS sub RIGHT JOIN diary AS dia ON sub.id = dia.subj_id GROUP BY dia.student HAVING avg(dia.mark) > (SELECT max(av.avg_mark) FROM (SELECT dia1.student, avg(dia1.mark) AS avg_mark FROM subjects AS sub1 RIGHT JOIN diary AS dia1 ON sub1.id = dia1.subj_id WHERE sub1.cabinet NOT LIKE '%4%' GROUP BY dia1.student) AS av);

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear