首页 > 数据库 >【SQL】项目员工 I

【SQL】项目员工 I

时间:2024-08-14 11:27:07浏览次数:15  
标签:项目 experience 员工 project SQL employee years id

目录

题目

分析

代码


题目

项目表 Project: 

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| project_id  | int     |
| employee_id | int     |
+-------------+---------+
主键为 (project_id, employee_id)。
employee_id 是员工表 Employee 表的外键。
这张表的每一行表示 employee_id 的员工正在 project_id 的项目上工作。

员工表 Employee

+------------------+---------+
| Column Name      | Type    |
+------------------+---------+
| employee_id      | int     |
| name             | varchar |
| experience_years | int     |
+------------------+---------+
主键是 employee_id。数据保证 experience_years 非空。
这张表的每一行包含一个员工的信息。

请写一个 SQL 语句,查询每一个项目中员工的 平均 工作年限,精确到小数点后两位

以 任意 顺序返回结果表。

查询结果的格式如下。

示例 1:

输入:
Project 表:
+-------------+-------------+
| project_id  | employee_id |
+-------------+-------------+
| 1           | 1           |
| 1           | 2           |
| 1           | 3           |
| 2           | 1           |
| 2           | 4           |
+-------------+-------------+

Employee 表:
+-------------+--------+------------------+
| employee_id | name   | experience_years |
+-------------+--------+------------------+
| 1           | Khaled | 3                |
| 2           | Ali    | 2                |
| 3           | John   | 1                |
| 4           | Doe    | 2                |
+-------------+--------+------------------+

输出:
+-------------+---------------+
| project_id  | average_years |
+-------------+---------------+
| 1           | 2.00          |
| 2           | 2.50          |
+-------------+---------------+
解释:第一个项目中,员工的平均工作年限是 (3 + 2 + 1) / 3 = 2.00;第二个项目中,员工的平均工作年限是 (3 + 2) / 2 = 2.50

分析

项目表和员工表

项目表为主,左连接 from Project p left join Employee e on p.employee_id = e.employee_id

查询每一个项目中员工的 平均 工作年限

每一个项目 group by project_id

平均工作年限 sum(experience_years)/count(experience_years)

精确到小数点后两位

使用round函数 round(sum(experience_years)/count(experience_years),2)

代码

select project_id, round(sum(experience_years)/count(experience_years),2) average_years
from Project p left join Employee e 
on p.employee_id = e.employee_id
group by project_id

 

标签:项目,experience,员工,project,SQL,employee,years,id
From: https://blog.csdn.net/weixin_73404807/article/details/141181479

相关文章

  • 【SQL】确认率
    目录题目分析代码题目表: Signups+----------------+----------+|ColumnName|Type|+----------------+----------+|user_id|int||time_stamp|datetime|+----------------+----------+User_id是该表的主键。每一行都包含ID......
  • 【SQL】平均售价
    目录题目分析代码题目表:Prices+---------------+---------+|ColumnName|Type|+---------------+---------+|product_id|int||start_date|date||end_date|date||price|int|+---------------+-------......
  • docker 运行 postgresql
    docker运行postgresql服务端及客户端 注意:是postgres不是postgre!!! 1.orb里设置{"registry-mirrors":["https://改成你的.mirror.aliyuncs.com","https://docker.888666222.xyz"],"ipv6":true} 2.访问https://docker.registry.cyo......
  • 什么是外卖霸王餐项目,怎么运营霸王餐平台
    在当今快节奏的社会中,外卖行业如火如荼,不仅为消费者提供了便捷的就餐方式,也为商家开辟了新的市场渠道。在这样的背景下,“外卖霸王餐项目”逐渐走进了公众视野,成为商家吸引顾客、提升品牌知名度的一种创新营销手段。那么,什么是外卖霸王餐项目?又如何做好其运营呢?本文将深入探讨这两......
  • mysql 创建定时任务清理指定表
    一、创建定时任务1、确保MySQL的事件调度器已经开启。可以通过以下SQL命令检查是否开启:SHOWVARIABLESLIKE'event_scheduler';2、如果返回的值为OFF,则可以通过以下命令开启事件调度器:SETGLOBALevent_scheduler=ON;3、以下是一个删除your_table表中7天前数据的示例:......
  • yarn + vue3 + vite 创建项目
    yarncreatevite//通过yarn+vite创建项目填写的创建的项目名称,默认名称vite-project 选择框架,我们点击上下键,回车选择,我们这里选择vue 选择语言,我们点击上下键,回车选择,我们这里选择TypeScript,即ts,然后回车 创建成功,如下 按照提示,执行命令cdvite-project......
  • GreatSQL 并行Load Data加快数据导入
    GreatSQL并行LoadData加快数据导入数据库信息数据库版本:GreatSQL8.0.32-25Clickhouse表需要导入到GreatSQL中,表数据量庞大所以选用导出CSV的方式。测试数据复现操作loaddataMySQLloaddata语句能快速将一个文本文件的内容导入到对应的数据库表中(一般文本的一行对应......
  • 英智大模型推理API:免费让Llama 3.1成为您创新项目的强力后盾
     “免费版(Llama3.1扩展包)”是英智大模型推理API服务平台面向开发者推出的Llama3.1免费套餐,供广大开发者无门槛、不限制Tokens、永久使用,每位用户限购1次。包含服务:“英智Llama3.1服务”:QPS(每秒查询数)限制为1次,统计Tokens。立即免费使用Llama3.18B,请访问:https:......
  • 项目推荐——音频标注wavesurfer.js用法及相关问题解决
    一、前言上期推荐了文本标注poplar-annotation用法,这期针对音视频标注推荐wavesurfer.js库;Wavesurfer.js是一个基于WebAudioAPI和HTML5Canvas的开源音频可视化库,用于创建可交互、可定制的波形。同时拥有众多插件库。二、demo效果可以实现音视频播放暂停、指定区域......
  • 【漏洞复现】普华-PowerPMS APPGetUser SQL注入漏洞
             声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。一、漏洞描述PowerPMS是一款综合性的企业管理系统,它集成了财务管理、销售管理、采购管理、仓储管理以及项目管理等多个功......