查找薪水记录超过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 条件;
相关推荐
freejackman14 分钟前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
bksczm28 分钟前
InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer
数据库·mysql
花间相见36 分钟前
【计算基础|Redis02】【上手】五大数据类型命令逐条实操
数据库·redis·后端
敲上瘾2 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3
bksczm2 小时前
Redis 持久化:RDB 快照与 AOF 日志
数据库·redis·mybatis
码途行者3 小时前
网站的SQL 注入:从攻击原理到防御措施
开发语言·sql·php
.痞老板.3 小时前
mysql初阶--数据库设计
数据库·mysql·oracle
Decay__4 小时前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
Thanks_ks5 小时前
SQL 的 GROUP BY 与聚合函数:从会写 SELECT 到会做统计
数据库·sql·mysql·group by·数据统计·聚合函数·having
Decay__13 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构