SQL面试题——部门人员在职情况统计分析

部门人员在职情况统计分析

现有一张员工在职所在部门信息表,包含员工ID、所属部门、开始日期、结束日期,请查询出如下内容

  1. 2024年1月31日A部门在职员工数;
  2. 2024年1月份A部门员工最多时有多少员工;
  3. 2024年1月份A部门平均有多少员工;
employee_iddepartmentstart_dateend_date
1A2023-12-202024-01-22
2A2024-01-022024-01-11
2B2024-01-112024-01-25
2A2023-01-259999-01-01
3A2023-12-209999-01-01
4A2024-02-029999-01-01
5A2023-06-202023-12-22

分析

由于我们这是一个拉链表,是一个左闭右开的区间,也就是说我们是去不到end_date的,所以这个边界问题要考虑清楚

2024年1月31日A部门在职员工数

现在要计算的是某一天的人数,我们的数据是一个人在这个部门的待的起始时间和截止时间,那我们只需要开始时间小于等于这一天,截止时间大于这一天

select count(1) as a_depart_num
from emp_dep_info
where department = 'A'and start_date <= '2024-01-31'and end_date > '2024-01-31';

2024年1月份A部门员工最多时有多少员工

由于员工数一直在变化,每天都有员工入职离职,所以我们需要算出每天都有多少人,然后人数最多的那一天就是员工最多的时候

为了方便计算,我们假设我们有一张时间维度表,然后按照我们之前计算某一天的在职人数的逻辑,计算每一天的人数

selecta.date,count(b.employee_id)
from 	dim.dim_date a
inner joinemp_dep_info b
onb.department = 'A'and a.date>='2024-01-01' and a.date<='024-01-31'and start_date <= a.dateand end_date > a.date
group bya.date

如果这里我没有这样的一个时间维度表呢,我们可以用下面的方式计算

-- 截止到当天每一天的人数
selectevent_time,sum(status) over(order by event_time ) as cnt
from(
-- 1入职,-1离职
select employee_id, department, start_date as event_time, 1 status 
from emp_dep_info
where department = 'A'and start_date <= '2024-01-31'
union all
-- 1入职,-1离职
select employee_id, department, end_date as event_time, -1 status 
from emp_dep_info
where department = 'A'and end_date <= '2024-01-31'
order by event_time
) 

然后再去按照event_time去分组

2024年1月份A部门平均有多少员工

这个需求个人感觉逻辑不清楚哈

  1. 如果是每天平均有多少人,我们已经算出来了每天的人数,计算平均值就很简单了
  2. 如果是截止到每一天有多少人,我们也算出来了每天有多少人

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/13064.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习基础02

目录 1.特征工程 1.1特征工程概念 1.2特征工程的步骤 1.3特征工程-特征提取 1.3.1字典特征提取 1.3.2文本特征提取 英文文本提取 中文文本提取 1.3.3TF-IDF文本特征词的稀有程度特征提取 2.无量纲化 2.1归一化 2.2标准化 2.3fit、fit_transform、transform 3.特征…

watermark大模型水印详解

一 watermark定义 模型水印是一种用于模型版权保护的技术&#xff0c;通过向大模型植入水印&#xff08;触发集数据加上特定的噪声或者标志&#xff09;&#xff0c;使得模型学习到这种特定的噪声或者标志的特征&#xff0c;通过特定的问题可以从大模型的回答中提取出水印进行…

做运维工程师辛苦吗?

你要知道做那一块的运维 网络运维&#xff08;确保网络稳定安全&#xff09; 应用运维&#xff08;应用软件进程监控、服务和端口相应情况、故障处理等&#xff09; 系统运维&#xff08;操作系统监控 恢复 等&#xff09;、 桌面和外围设备运维&#xff08;计算机终端、外…

关于报错‘cross-env‘ 不是内部或外部命令,也不是可运行的程序

在使用ANT DESIGN PRO这个react框架时出现了cross-env 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 如图&#xff1a; 解决办法&#xff1a; 需要全局安装 cross-dev npm install -g cross-env -save-dev 然后重新启动npm start 注意&#xff1a;…

智能座舱多屏项目,中控屏切换语言,后排屏闪黑屏问题

1. 背景 智能座舱多屏项目&#xff0c;中控屏切换语言&#xff0c;后排屏闪黑屏问题 2. 详细分析过程 通过events log查看activity的生命周期&#xff1a;adb shell logcat -b events com.android.rwhvac.view.behind.BehindActivity2 : displayId 2 副屏app com.android.…

基于Multisim温度计温度测量检测测量系统电路(含仿真和报告)

【全套资料.zip】温度计温度测量检测测量系统电路Multisim仿真设计数字电子技术 文章目录 功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真报告讲解视频.zip】 功能 温度检测测量系统 1.温度测量范围为0&#xff5e;200&#xff23;&#xff1b; 2.三位数…

浅层神经网络

浅层神经网络 浅层神经网络通常指包含一个隐藏层的神经网络。这个网络由输入层、隐藏层和输出层构成&#xff1a; 输入层&#xff1a;输入层负责接收网络的输入特征&#xff0c;通常表示为列向量 x T [ x 1 , x 2 , x 3 ] x^T [x_1, x_2, x_3] xT[x1​,x2​,x3​]&#xff…

解决apidoc不是内部或外部命令,也不是可运行的程序 或批处理文件。

apidoc官网 首先确保安装了apidoc,我这里是全局安装的。 npm install apidoc -g然后打开cmd窗口执行命令时就会报错。 apidoc 不是内部或外部命令,也不是可运行的程序 或批处理文件。 此时只需要找到它&#xff0c;再把它加入环境变量即可了。 win10中npm默认路径:C:\User…

可私有化部署API的集装箱箱号自动识别技术,专业算法厂家

启智畅想作为人工智能行业OCR识别算法厂家&#xff0c;可将集装箱箱号自动识别技术私有化部署&#xff0c;并提供私有化部署的API的接口&#xff0c;在物流行业中正逐渐崭露头角&#xff0c;成为提升效率与精度的关键力量。这一技术不仅打破了传统识别方式的局限&#xff0c;更…

【快速解决】kafka崩了,重启之后,想继续消费,怎么做?

目录 一、怎么寻找我们关心的主题在崩溃之前消费到了哪里&#xff1f; 1、一个问题&#xff1a; 2、查看消费者消费主题__consumer_offsets 3、一个重要前提&#xff1a;消费时要提交offset 二、指定 Offset 消费 假如遇到kafka崩了&#xff0c;你重启kafka之后&#xff0…

第七届中国国际进口博览会 2024长三角G60科创走廊高质量发展要素对接大会举行

11月9日&#xff0c;第七届中国国际进口博览会2024长三角G60科创走廊高质量发展要素对接大会在国家会展中心举行。会上&#xff0c;G60科创走廊九城市共赴进博之约&#xff0c;以全面深化改革为动力&#xff0c;深入推进长三角G60科创走廊走深走实&#xff0c;携手推动科技创新…

一键P图新神器!SeedEdit让图片编辑更快捷!

大家还记得MJ推出的图片编辑功能吗&#xff1f;只需涂抹想要修改的区域&#xff0c;再输入提示词&#xff0c;就能一键更改原图。而现在&#xff0c;豆包大模型团队也推出了类似的功能——SeedEdit&#xff0c;而且更加简单快捷&#xff01; Ai 智能办公利器 - Ai-321.com 人工…

【数据分析与数据挖掘】决策树算法

决策树的构造的本质是利用训练数据构造一棵决策树&#xff0c;然后利用这棵树所提炼出来的规则进行预测。算法过程大体分为两步&#xff1a;1.利用训练数据构造决策树 2.利用构造的决策树进行预测 分类相关知识 信息熵 信息熵由香农提出&#xff0c;用来衡量事件的不确定性的…

丹摩征文活动|智谱AI引领是实现文本可视化 - CogVideoX-2b 部署与使用

文章目录 前言一、DAMODEL平台特性二、创建CPU云实例三、CogVedioX介绍四、DAMODEL一键部署CogVideoX1. 创建丹摩实例(参考上述介绍)2. 配置环境和依赖3. 模拟与配置文件4. 开始运行4.1 调试4.2 webUI4.3 端口映射 前言 DAMODEL&#xff08;丹摩智算&#xff09;是一款专为满足…

22. 记录架构

文章目录 第22章 记录架构22.1 架构文档的用途和受众22.2 符号表示22.3 视图模块视图组件和连接器视图C&C 视图的符号表示 分配视图质量视图 22.4 组合视图22.5 记录行为22.6 视图之外22.7 记录基本原理22.8 架构的利益相关者22.9 实际考虑建模工具在线文档、超文本和维基遵…

Python练习19

Python日常练习 题目&#xff1a; 打印如下九九乘法表 1*11 2*12 2*24 3*13 3*26 3*39 4*14 4*28 4*312 4*416 5*15 5*210 5*315 5*420 5*525 6*16 6*212 6*318 6*424 6*530 6*636 7*17 7*214 7*321 7*428 7*535 7*642 7*749 8*18 8*216 8*324 8*432 8*540 8*648 8*756 8*86…

卸载 Python

文章目录 WindowsmacOSLinux总结 卸载 Python 的方法取决于你使用的操作系统。以下是针对不同操作系统的卸载步骤&#xff1a; Windows 打开控制面板&#xff1a; 按 Win R 打开运行对话框&#xff0c;输入 control&#xff0c;然后按 Enter。或者&#xff0c;从开始菜单搜索并…

使用Wireshark获取USB HID(Human Interface Device)报告描述符

使用Wireshark选择需要获取的USB进行抓取数据&#xff0c;找到设备&#xff08;host&#xff09;接收信息的数据 第二栏出现hid报告&#xff0c;右击选择复制流 将复制的内容粘贴到USB标准请求及描述符在线分析工具 - USB中文网 进行解析 以图中获取手写板的数据为例&#xff…

【深度学习】LSTM、BiLSTM详解

文章目录 1. LSTM简介&#xff1a;2. LSTM结构图&#xff1a;3. 单层LSTM详解4. 双层LSTM详解5. BiLSTM6. Pytorch实现LSTM示例7. nn.LSTM参数详解 1. LSTM简介&#xff1a; LSTM是一种循环神经网络&#xff0c;它可以处理和预测时间序列中间隔和延迟相对较长的重要事件。LSTM通…

PyQt5 加载UI界面与资源文件

步骤一: 使用 Qt Designer 创建 XXX.ui文件 步骤二: 使用 Qt Designer 创建 资源文件 步骤三: Python文件中创建相关类, 使用 uic.loadUi(mainwidget.ui, self ) 加载UI文件 import sys from PyQt5 import QtCore, QtWidgets, uic from PyQt5.QtCore import Qt f…