查找薪水记录超过15条的员工号emp_no以及其对应的记录次数

首发于公众号:小肖学数据分析

描述

请你查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t,例子输出如下:

emp_no t
10001 16

测试样例

sql 复制代码
CREATE TABLE salaries (
    emp_no INT,
    salary INT,
    from_date DATE,
    to_date DATE
);
​
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 60117, '1986-06-26', '1987-06-26');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 62102, '1987-06-26', '1988-06-25');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 66074, '1988-06-25', '1989-06-25');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 66596, '1989-06-25', '1990-06-25');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 66961, '1990-06-25', '1991-06-25');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 71046, '1991-06-25', '1992-06-24');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 74333, '1992-06-24', '1993-06-24');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 75286, '1993-06-24', '1994-06-24');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 75994, '1994-06-24', '1995-06-24');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 76884, '1995-06-24', '1996-06-23');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 80013, '1996-06-23', '1997-06-23');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 81025, '1997-06-23', '1998-06-23');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 81097, '1998-06-23', '1999-06-23');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 84917, '1999-06-23', '2000-06-22');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 85112, '2000-06-22', '2001-06-22');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10001, 85097, '2001-06-22', '2002-06-22');
INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (10002, 72527, '1996-08-03', '1997-08-03');
​
-- 利用 group by having 实现
select emp_no,count(1) as t from salaries 
group by emp_no
having count(1)>15

GROUP BY和HAVING是一起使用的,用于在查询结果中对分组后的数据进行过滤。

GROUP BY语句用于将结果集按照一个或多个列进行分组,然后对每个分组进行聚合计算。

HAVING语句用于在GROUP BY的结果集中对分组后的数据进行过滤,只返回满足条件的分组。

语法:

sql 复制代码
SELECT 列1, 列2, ... 列n
FROM 表名
GROUP BY 列1, 列2, ... 列n
HAVING 条件;
相关推荐
一 乐14 分钟前
家政服务管理系统|基于springboot + vue家政服务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·家政服务管理系统
努力成为AK大王2 小时前
并发编程的核心挑战、优化方案与核心知识点总结
java·开发语言·数据库
En^_^Joy3 小时前
Django开发:模板系统入门指南
数据库·django·sqlite
无关86883 小时前
Redis Bitmaps 用户签到系统设计方案
数据库·redis·缓存
江华森4 小时前
FastAPI 极速开发指南 — 从零到生产级 API 实战
数据库·fastapi
老纪5 小时前
Redis分布式锁进第九零篇
数据库·redis·分布式
haven-8525 小时前
MySQL事务ACID、隔离级别、MVCC、幻读解决
数据库·mysql
小高学习java5 小时前
事务的边界问题,如何判断数据回滚时机。
java·数据库·后端
迷枫7126 小时前
【无标题】
数据库