Всем привет. Я не давно начал изучать SQL. Мне дали задание: сделать запрос в таблицу. Но никак не получается, мало опыта ещё. Прощу вас помочь с этим запросом. Таблица (для пример): PHP: create table staff( staff_surname varchar(20), staff_other_name varchar(20), staff_number varchar(5), section_number int(3), sex varchar(1), years_of_employment int(2), salary int(6), primary key(staff_number) ); insert into staff values("Mary", "Jane", "C9856", 001, "F", 01, 26000); insert into staff values("Michael", "Jordan", "D3147", 003, "M", 01, 30000); insert into staff values("Ivy", "May", "G4387", 002, "F", 04, 30000); insert into staff values("Alan", "Smith", "K1244", 001, "M", 07, 91000); insert into staff values('Austin Stone', 'M6874', 004 'M' 01, 30000); insert into staff values("Elsa", "Wood", "N1239", 004, "F", 06, 50000); insert into staff values("Cindy", "Cash", "P8435", 005, "F", 01, 22000); insert into staff values("Linda", "Ruth", "A3398", 002, "F", 02, 46000); insert into staff values("Luke", "Kyle", "Y5551", 002, "M", 04, 30000); insert into staff values("Paul", "Lane", "U9211", 005, "M", 05, 68000); нужно сделать запрос, чтобы результат был таким (данные могут отличаться): Как сделать такой запрос? Заранее спасибо за помощь!
недавно — пишется слитно Тут вся сложность в том, чтобы исправить ошибки в твоих исходных данных: пропущенные запятые, не то количество колонок, отстутсвующие кавычки где они нужны. Будь добр, вбей это вот всё чтобы оно заработало без ошибок в https://www.db-fiddle.com/ и тогда может быть получишь готовый ответ. --- Добавлено --- А так, вообще ничего сложного: Код (SQL): SELECT `f1`, `f2`, SUM(`f3`) FROM `t` GROUP BY `f1`, `f2` WITH ROLLUP .
Спасибо большое, прощу прощение за ошибки. Поправленный код: PHP: create table staff( staff_surname varchar(20), staff_other_name varchar(20), staff_number varchar(5), section_number int(3), sex varchar(1), years_of_employment int(2), salary int(6), primary key(staff_number) ); insert into staff values('Mary', 'Jane', 'C9856', 1, 'F', 1, 26000); insert into staff values('Michael', 'Jordan', 'D3147', 3, 'M', 1, 30000); insert into staff values('Ivy', 'May', 'G4387', 2, 'F', 4, 30000); insert into staff values('Alan', 'Smith', 'K1244', 1, 'M', 7, 91000); insert into staff values('Austin', 'Stone', 'M6874', 4, 'M', 1, 30000); insert into staff values('Elsa', 'Wood', 'N1239', 4, 'F', 6, 50000); insert into staff values('Cindy', 'Cash', 'P8435', 5, 'F', 1, 22000); insert into staff values('Linda', 'Ruth', 'A3398', 2, 'F', 2, 46000); insert into staff values('Luke', 'Kyle', 'Y5551', 2, 'M', 4, 30000); insert into staff values('Paul', 'Lane', 'U9211', 5, 'M', 5, 68000); Ответ (спасибо artoodetoo): PHP: SELECT section_number, sex, sum(salary) FROM staff GROUP BY section_number, sex WITH ROLLUP;