1. 题目
-
题目描述
查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t -
表格

-
所需结果

2. 题解:考察GROUP BY
简单,考察 GROUP BY + HAVING 的用法。
SELECT emp_no, COUNT(salary) t
FROM salaries
GROUP BY emp_no
HAVING t > 15
也可使用窗口函数:
SELECT DISTINCT tb.emp_no, tb.t
FROM
(
SELECT *,
COUNT(*) OVER(PARTITION BY emp_no) t
FROM salaries
) tb
WHERE tb.t > 15
注意子查询要有自己的名字!
本文解析了如何使用GROUP BY和HAVING或者窗口函数在SQL中查找薪水记录超过15次的员工号emp_no及其对应的记录次数t。通过实例演示了两种方法的实现,并强调了子查询命名的重要性。
608

被折叠的 条评论
为什么被折叠?



