查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t

2019-02-18  本文已影响0人  兔子是黑老大

题目

查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t
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));

输入输出

思路

首先想到的肯定是怎么去比较这些数据,首先得根据emp_no将数据分组,这样才能去比较每个人的薪水情况group by emp_no,然后比较怎么办呢?还是不好办,首先想到的还是拿着一个数去和其他的比较,但是会重复,既然是涨工资了,表现在数据上就是数据不一样,那么我可不可以通过count()统计出来每个员工工资的不同次数呢,这个不就是工资的不同吗?就用having count(salary) > 15将所有符合条件的筛出来。还有一点就是涨工资的次数是需要统计的而且需要使用t表示,还需要用到重命名以及count()因为在having中不能重命名

总结

  1. group by的使用
  2. 聚集函数count()的使用
  3. 不同数据的个数统计
  4. 列重命名
上一篇下一篇

猜你喜欢

热点阅读