题目描述
统计出当前各个title类型对应的员工当前薪水对应的平均工资。结果给出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);
输入描述:
无
解析:该题目有个字眼要是没看到,估计想一万年都是做梦了。这个字眼就是“当前”。注意是“当前薪水“,而当前用日期的表示是to_date=’9999-01-01’.
select c.title as title ,avg(c.salary) as avg//在临时表的基础上再分组统计
from
(
select a.title as title,b.salary as salary//先连接查询出来数据作为临时表
from titles a,salaries b
where a.emp_no=b.emp_no and a.to_date='9999-01-01' and b.to_date='9999-01-01'
) as c
group by c.title