CREATE DATABASE test;
use test;
CREATE TABLE Employees (
EmployeeID INT AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100),
DepartmentID INT,
Salary DECIMAL(10, 2)
);
INSERT INTO Employees (Name, DepartmentID, Salary) VALUES
('Alice', 1, 50000),
('Bob', 1, 55000),
('Charlie', 2, 60000),
('David', 1, 50000),
('Eve', 2, 65000),
('Frank', 3, 45000),
('Grace', 3, 47000),
('Hannah', 3, 48000),
('Ian', 2, 70000),
('Jack', 1, 52000);
SELECT max(x.cha) FROM(
select e.DepartmentID,
sum(e.Salary) over (partition by e.DepartmentID) total,
min(e.Salary) over (partition by e.DepartmentID) zuixiao,
sum(e.Salary) over (partition by e.DepartmentID) - min(e.salary) over (partition by e.DepartmentID) cha
from Employees e
) x GROUP BY x.DepartmentID