查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t
题目
查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t
CREATE TABLEsalaries(
emp_noint(11) NOT NULL,
salaryint(11) NOT NULL,
from_datedate NOT NULL,
to_datedate NOT NULL,
PRIMARY KEY (emp_no,from_date));
输入输出
思路
首先想到的肯定是怎么去比较这些数据,首先得根据emp_no将数据分组,这样才能去比较每个人的薪水情况group by emp_no,然后比较怎么办呢?还是不好办,首先想到的还是拿着一个数去和其他的比较,但是会重复,既然是涨工资了,表现在数据上就是数据不一样,那么我可不可以通过count()统计出来每个员工工资的不同次数呢,这个不就是工资的不同吗?就用having count(salary) > 15将所有符合条件的筛出来。还有一点就是涨工资的次数是需要统计的而且需要使用t表示,还需要用到重命名以及count()因为在having中不能重命名
总结
- group by的使用
- 聚集函数count()的使用
- 不同数据的个数统计
- 列重命名