【牛客SQL】SQL22 统计各个部门的工资记录数

2023-11-03

题目描述

在这里插入图片描述

描述
有一个部门表departments简况如下:

在这里插入图片描述

有一个,部门员工关系表dept_emp简况如下:
在这里插入图片描述

有一个薪水表salaries简况如下:
在这里插入图片描述

请你统计各个部门的工资记录数,给出部门编码dept_no、部门名称dept_name以及部门在salaries表里面有多少条记录sum,按照dept_no升序排序,以上例子输出如下:

示例1
输入:
drop table if exists  `departments` ; 
drop table if exists  `dept_emp` ; 
drop table if exists  `salaries` ; 
CREATE TABLE `departments` (
`dept_no` char(4) NOT NULL,
`dept_name` varchar(40) NOT NULL,
PRIMARY KEY (`dept_no`));
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
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`));
INSERT INTO departments VALUES('d001','Marketing');
INSERT INTO departments VALUES('d002','Finance');
INSERT INTO dept_emp VALUES(10001,'d001','2001-06-22','9999-01-01');
INSERT INTO dept_emp VALUES(10002,'d001','1996-08-03','9999-01-01');
INSERT INTO dept_emp VALUES(10003,'d002','1996-08-03','9999-01-01');
INSERT INTO salaries VALUES(10001,85097,'2001-06-22','2002-06-22');
INSERT INTO salaries VALUES(10001,88958,'2002-06-22','9999-01-01');
INSERT INTO salaries VALUES(10002,72527,'1996-08-03','9999-01-01');
INSERT INTO salaries VALUES(10003,32323,'1996-08-03','9999-01-01');
复制
输出:
d001|Marketing|3
d002|Finance|1

题解

运行时间:13ms
超过80.58% 用Sqlite提交的代码
占用内存:3456KB
超过17.53%用Sqlite提交的代码

SELECT d1.dept_no, d1.dept_name, COUNT(d1.dept_no)
FROM departments AS d1 JOIN (
    SELECT s.emp_no, d2.dept_no 
    FROM dept_emp AS d2 JOIN salaries AS s
    ON d2.emp_no = s.emp_no
) AS t
ON d1.dept_no = t.dept_no
GROUP BY d1.dept_no
;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【牛客SQL】SQL22 统计各个部门的工资记录数 的相关文章

随机推荐

  • vue项目,浏览器报错:ReferenceError: h is not defined

    Jsx语法 遇到这种错误 检查一下自己data 内有没有类似图片上的代码结构的参数 这种属于jsx语法 也能直接将组件渲染出来 但是在某些特定情景下浏览器控制台会报 ReferenceError h is not defined这个错误 解
  • hystrix线程池隔离的原理与验证

    引子 幸福很简单 今天项目半年规划被通过 终于可以早点下班 先坐公交 全程开着灯 买了了几天的书竟然有时间看了 半小时后 公交到站 换乘大巴车 车还等着上人的功夫 有昏暗的灯光 可以继续看会儿书 过会儿车跑起来了 灯关了 我合上书 头靠着车
  • 压测工具Jmeter入门使用

    一 创建一个基础的Web测试 1 测试内容 模拟五个用户请求2次指定的http接口 并且重复2次 也就是总共请求有5 2 2 20 次 要构建本次内容需要用到Jmeter的元素 线程组 HTTP请求 HTTP请求默认值和图形结果 2 具体操
  • 单片机设计_智能计算器(AT89C51、LCD1602、矩阵键盘)

    基于单片机的智能计算器 AT89C51 LCD1602 矩阵键盘 想要更多项目私wo 一 简介 此电路由AT89C51最小系统 LCD1602液晶显示模块和矩阵键盘模块组成 二 执行效果 三 部分代码 S16 S12 S8 S4分别是123
  • 爬虫IP时效问题:优化爬虫IP使用效果实用技巧

    作为一名专业的爬虫程序员 我们经常遇到的一个棘手问题那就是爬虫IP的时效性 由于网站的反爬虫机制不断升级 很多爬虫IP的可用时间越来越短 导致我们的爬虫任务频繁中断 今天 我将和大家分享一些优化爬虫IP使用效果的实用技巧 希望能帮助大家解决
  • 【性能测试】性能测试之性能测试指标详解(性能指标、CPU、内存、负载、磁盘)

    目 录 一 系统性能测试指标 1 1 响应时间 1 2 并发 1 3 点击量 点击率 1 4 吞吐量 吞吐率 1 5 TPS QPS 1 6 PV UV 二 Linux服务器性能指标 2 1 CPU使用率 2 2 内存占用率 2 3 系统平
  • 使用R语言的`order()`函数对数据框(dataframe)的行进行排序

    使用R语言的order 函数对数据框 dataframe 的行进行排序 在R语言中 order 函数可以用来对数据框的行进行排序 排序可以按照一个或多个列的值来进行 可以选择是升序还是降序排列 下面我将详细介绍如何使用order 函数对数据
  • 天数怎么换算成月_怎么把日期转换为天数

    1 在EXCEL中如何把天数转为年月日 年月日转为天数 在EXCEL中把天数转为年月日具体步骤如下 1 第一步 电脑打开Excel表格 如下图所示 2 第二步 电脑打开Excel表格后 输入公式 INT I16 365 年 INT I16
  • Android studio 配置Git

    使用GIT前请阅读 有git基础可略过 git指引 http www bootcss com p git guide 一 下载git http git scm com download 二 安装 全部默认配置即可 三 配置 运行Git Ba
  • 佳能相机里误删的照片怎么恢复

    佳能相机一直以耐用性 高效性以及高画质著称 在相机领域里有一定口碑 相信很多人都是佳能的忠实粉丝 但是不管它的质量多么好 拍出来的照片多么高清 我们却总也避免不了人为的失误 万一不小心将里面的照片误删了 该怎么恢复呢 下面就一起来学习具体恢
  • springboot maven项目环境搭建idea

    springboot maven项目环境搭建idea 文章目录 springboot maven项目环境搭建idea 用到的软件 idea下载和安装 java下载和安装 maven下载和安装 安装maven 添加JAVA HOME路径 增加
  • 第六部分、JEECG-BOOT 通过archetype创建module模块

    文章目录 第六部分 通过archetype创建module模块 通过Archetype创建模块代码 代码结构如下 如何使用 第六部分 通过archetype创建module模块 通过Archetype创建模块代码 包名规则 org jeec
  • 面向对象设计原则 选自《敏捷软件开发原则,模式与实践》

    单一职责原则 就一个类而言 应该仅有一个引起他变化的原因 最简单也是最难掌握的一个原则 其中单一职责 内聚 职责 变化的原因 不同职责并非绝对不能共处 关键是发现类中变化特征不同的职责减少耦合 这个是横向的 开放 封闭原则 软件实体 类 模
  • 每日一道Python编程题目练习,不定期更新

    自学python中 此文章目的为记录练习过程 同时督促自己每天练习一道python题目 题目来源于网络 代码由自己书写 初学者 仅为记录 大佬不喜勿喷 尽量书写注释 如有错误 欢迎指正 如果有推荐的题目可以评论 目前感觉对python的基础
  • python-Django_根据数据库表反向生成Model

    Django 根据数据库表反向生成 Model 简介 Django 根据数据库表反向生成 Model 使用 inspectdb 反向生成 model 实体类 可以指定表名转换 python manage py inspectdb 命令参数解
  • html css js 一些记录.

    webstorm 的基本使用 webstorm 格式化 html 代码 Ctrl Alt L js html css 基本使用 注意 dom 的 innerHTML会刷新dom 所以里面包含的事件绑定可能无效 需要重新绑定 document
  • 存储过程分表

    DROP PROCEDURE IF EXISTS test sql create procedure test sql in start num int in end num int begin declare i int set i st
  • SpringBoot使用Jackson,全局反序列化去除字符串前后空格

    方法一 继承SimpleModule Component public class StringTrimModule extends SimpleModule private static final long serialVersionU
  • 字节流 FileInputStream和FileOutputStream类 三种读写方法对比概述

    文件操作 FileInputStream和FileOutputStream类 三种read方法对比概述 流 字节流 FileInputStream及FileOutputStream类的构造方法 代码测试read 以及write 三个方法各自
  • 【牛客SQL】SQL22 统计各个部门的工资记录数

    题目描述 描述 有一个部门表departments简况如下 有一个 部门员工关系表dept emp简况如下 有一个薪水表salaries简况如下 请你统计各个部门的工资记录数 给出部门编码dept no 部门名称dept name以及部门在