牛客网数据库SQL实战16—— 统计出当前各个title类型对应的员工当前薪水对应的平均工资
题目描述
统计出当前各个title类型对应的员工当前(to_date=‘9999-01-01’)薪水对应的平均工资。结果给出title以及平均工资avg。
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
CREATE TABLE IF NOT EXISTS "titles" (
`emp_no` int(11) NOT NULL,
`title` varchar(50) NOT NULL,
`from_date` date NOT NULL,
`to_date` date DEFAULT NULL);
输入描述:
无
输出描述:
title | avg |
---|---|
Engineer | 94409.0 |
Senior Engineer | 69009.2 |
Senior Staff | 91381.0 |
Staff | 72527.0 |
我的解答
select t.title,avg(s.salary) as avg
from titles t
left join salaries s
on t.emp_no = s.emp_no
where t.to_date='9999-01-01'
and s.to_date='9999-01-01'
group by t.title
主要用avg()函数和group by 即可