多个字段联合分组
(1)为了方便举例说明,此处我们执行如下命令,新建一张数据库,库名叫:company
CREATE DATABASE company;
USE company;
在当前使用的company数据库中重新创建一张新的表:salary(薪资表)
CREATE TABLE salary(
id INT NOT NULL PRIMARY KEY,
departno INT(8) NOT NULL,
position VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
sex CHAR(4) NOT NULL,
sal INT(20)
);
(2)往这个新创建的salary(薪资表)中插入数据
INSERT INTO salary VALUES
(1,10,'manager','黄大强','男',30000),
(2,10,'manager','李红梅','女',28000),
(3,10,'front_developer','周明','男',15000),
(4,10,'front_developer','刘楚红','女',13000),
(5,10,'front_developer','张璐','女',12000),
(6,10,'behind_developer','乔德强','男',14000),
(7,10,'behind_developer','戴华','男',18000),
(8,10,'behind_developer','杨国庆','男',17000),
(9,20,'manager','朱慧','女',10000),
(10,20,'manager','许兴耀','男',6000),
(11,20,'pre-sales','章荣强','男',3200),
(12,20,'pre-sales','钱清芳','女',8500),
(13,20,'after-sales','韩俊','男',5500),
(14,30,'manager','张玲玉','女',12000),
(15,30,'cashier','王城','男',4500);
例1:在如上的salary薪资表中,找出不同工作岗位的最高薪资
SELECT position,MAX(sal) FROM salary GROUP BY position;
例2:多个字段联合分组:在如上的salary薪资表中,找出不同部门不同工作岗位的最高薪资
SELECT departno,position,MAX(sal) FROM salary GROUP BY departno,position;