题目:查找薪水变动超过15次的员工号emp_no以及其对应的变动次数t
TABLE salaries
emp_no
,salary
,from_date
,to_date
,
要点:
“薪水变动次数” t
这里针对“薪水变动次数”的衡量可以采取不同方式计算。
1)可以对同一emp_no
下不同的salary
计数。
代码如下:
SELECT emp_no, COUNT(DISTINCT salary) AS t FROM salaries GROUP BY emp_no HAVING t > 15
2)针对同一emp_no不同的from_date计数,本质上一旦salary发生变动,from_date也会随之改变。
SELECT emp_no, COUNT(DISTINCT from_date) AS t FROM salaries GROUP BY emp_no HAVING t>15
看到有题解中提及计算涨幅,但是想了一下没有具体操作思路,如果有思路的朋友希望能够回复我一下,非常感谢。
注:
这里AS指示SQL创建一个包含指定运算结果的名为“t”的列,如果不为这一运算结果命名,那么接下来的计算将无法调用“t”。