版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011877584/article/details/81266544
题目描述
查找薪水涨幅超过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 | t |
---|---|
10001 | 17 |
10004 | 16 |
10009 | 18 |
示例1
输入
无
输出
无
-------------------------------------------------------------------------------
参考代码:
第一种:
SELECT
a.emp_no,
count(a.salary) AS t
FROM
(
SELECT DISTINCT
emp_no,
salary
FROM
salaries
) a
GROUP BY
a.emp_no having t >15;
第二种:
select s.emp_no,count(DISTINCT s.salary) as t from salaries s group by s.emp_no having t >2;
------------------------
分析:
自己测试:
薪水涨幅超过15次太多了,我搞个2次。
在某网站刷sql,感觉评论区好多网友的不对。