首页 > 数据库 >mysql将公司数据随机挂在部门身上

mysql将公司数据随机挂在部门身上

时间:2024-12-13 18:00:01浏览次数:9  
标签:COMMENT code name profit 身上 company 随机 mysql department

1.创建示例数据

CREATE TABLE department_table (
    company_code VARCHAR(10) COMMENT '公司编码',
    company_name VARCHAR(50) COMMENT '公司名称',
    department_code VARCHAR(10) COMMENT '部门编码',
    department_name VARCHAR(50) COMMENT '部门名称',
    sales DECIMAL(10, 2) COMMENT '销售额'
);


CREATE TABLE company_profit_table (
    company_code VARCHAR(10) COMMENT '公司编码',
    company_name VARCHAR(50) COMMENT '公司名称',
    profit DECIMAL(10, 2) COMMENT '公司利润'
);


INSERT INTO department_table (company_code, company_name, department_code, department_name, sales) VALUES
('C001', 'Company A', 'D001', 'Dept A1', 1000.00),
('C001', 'Company A', 'D002', 'Dept A2', 2000.00),
('C002', 'Company B', 'D003', 'Dept B1', 3000.00),
('C002', 'Company B', 'D004', 'Dept B2', 4000.00),
('C003', 'Company C', 'D005', 'Dept C1', 5000.00);

INSERT INTO company_profit_table (company_code, company_name, profit) VALUES
('C001', 'Company A', 10000.00),
('C002', 'Company B', 20000.00),
('C003', 'Company C', 30000.00);


2.示例sql

WITH aggregated_profit AS (
    SELECT company_code, company_name, profit
    FROM company_profit_table
),
department_with_profit AS (
    SELECT d.company_code, d.company_name, d.department_code, d.department_name, d.sales, a.profit
    FROM department_table d
    LEFT JOIN aggregated_profit a ON d.company_code = a.company_code
),
ranked_departments AS (
    SELECT *,
           ROW_NUMBER() OVER (PARTITION BY company_code ORDER BY sales DESC) AS sales_rank
    FROM department_with_profit
)
SELECT company_code, company_name, department_code, department_name, sales,
       CASE 
           WHEN sales_rank = 1 THEN profit
           ELSE NULL
       END AS profit
FROM ranked_departments;

欢迎大佬指正,更优的方式。

标签:COMMENT,code,name,profit,身上,company,随机,mysql,department
From: https://www.cnblogs.com/shuiyirar/p/18605486

相关文章

  • 利用MySQL和gin框架实现的留言板功能
    接口文档和详细代码看这里~前言本文将介绍一个基于Go语言和Gin框架实现的留言板系统。该系统支持用户注册、登录、发布留言、回复留言、关闭留言、获取所有留言等功能。本文将通过代码示例详细解读系统的结构、功能实现。结构本系统主要由以下几个模块构成:API:负责处理......
  • MySQL性能优化总结
    1. 数据库优化目的1.1. 避免出现页面访问错误1).由于数据库连接timeout产生页面5xx错误;2).由于慢查询造成页面无法加载;3).由于阻塞造成数据无法提交;1.2. 增加数据库的稳定性1).很多数据库的问题都是由于低效的查询引起的;1.3. 优化用户体验1).流畅页面的访问速度......
  • IO模型和mySQL缓冲
    ServletWebServerFactoryAutoConfigurationSpringApplicationRunListenerEventPublishingRunListener->通过SimpleApplicationEventMulticaster发布spring事件,持有List,调用onApplicationEventnewSpringApplication->setListeners((Collection)getSpringFactorie......
  • MySQL(二)数据的检索和过滤
     使用频率最高的SQL语句应该就是select语句了,它的用途就是从一个或多个表中检索信息,使用select检索表数据必须给出至少两条信息:想选择什么,以及从什么地方选择 一、检索数据1、检索单个列selectcolumnfromtable;该SQL语句的检索结果将返回表中的所有行,数据没有过滤(过......
  • MySQL-全面优化MySQL服务器
    1、EXPLAIN分析查询SQL的执行计划‌MySQL的EXPLAIN命令主要用于分析SQL查询的执行计划,帮助理解MySQL如何处理SQL语句,并优化查询性能。‌(1)EXPLAIN的作用1)、‌表的读取顺序‌:显示MySQL如何读取表和执行JOIN操作。2)、‌数据读取操作的操作类型‌:如全表扫描、索引扫描等。3)、......
  • 数据结构结课设计——使用随机深度优先搜索完成随机迷宫的生成
     博主在本学期的c语言数据结构课程选择了随机迷宫生成作为结课设计,并运用随机深度优先,下面是我的代码设计思路与代码,  设计思路上迷宫的随机生成问题可以分成两个大步骤来进行:第一步迷宫的随机初始化:通过二维数组来对迷宫进行表示,将迷宫全部设置为1,再通过随机函数将迷宫......
  • MySQL InnoDB 中的数据页
    文章目录1.数据库的存储结构概述1.1表空间(Tablespace)1.2段(Segment)1.3区(Extent)1.4页(Page)2.InnoDB数据页的深入解析2.1数据页的物理结构2.2数据页中的行存储2.3数据页满时的分裂与合并2.4大字段(LOB)的存储机制2.5页分裂与合并的影响3.B+Tree查询逻辑的实现......
  • MySQL InnoDB 的锁机制
    文章目录1.引言2.锁的基础概念2.1什么是锁?2.2锁的核心实现原理2.3InnoDB中锁的分类3.悲观锁与乐观锁3.1悲观锁详解3.2乐观锁详解3.3两种锁策略的性能对比4.系统锁4.1系统锁的使用场景4.2系统锁的实现方式4.3系统锁的优缺点5.表锁5.1表锁的内部实现5.2......
  • mysql 的row_count函数和found_rows函数【转】
    row_count()row_count函数返回的是当前连接中最近一次操作数据库的所影响的行数,增删改语句都能对它有效果。一定要是当前连接中,这个条件很重要!下面两条语句如果是用mysql客户端工具运行,一定要将两条sql全部选中一起运行才有效果。deletefromTwhereid=1;selectrow_count()......
  • MySQL 8.0 与 PostgreSQL 15.8 性能比拼!
    PostgreSQL和 MySQL一直是热门数据库,广泛应用于各类项目场景。今天,我们就聚焦于 PostgreSQL15.8和 MySQL8.0这两个热门版本,在硬件配置和参数配置基本一致的情况下,通过详实的数据来一场深度的性能对比。查询性能PostgreSQL15.8对具有50万条记录的单表实施常用字段的......