MySQL第二种实现方式:现在有一个生产计划,甲乙丙3个品类共16个产品,生产时间6天,每天甲品类可以生产1张单,乙3张,丙1张,请用MySQL写出H列的效果

news2024/11/23 17:04:59

接上篇:链接: 现在有一个生产计划,甲乙丙3个品类共16个产品,生产时间6天,每天甲品类可以生产1张单,乙3张,丙1张,请用MySQL写出H列的效果

第二种写法:

-- 使用WITH子句创建CTE
WITH initial_data AS (
    SELECT 品类产品, 生产时间开始, 生产时间结束, 该品类每天可排单数量,
           ROW_NUMBER() OVER () AS original_order
    FROM produces
),
scheduled_producet AS (
    SELECT 品类产品, 生产时间开始, 生产时间结束, 该品类每天可排单数量,
           DATE_ADD(生产时间开始, INTERVAL FLOOR(ROW_NUMBER() OVER (PARTITION BY 品类产品 ORDER BY original_order) / 该品类每天可排单数量) DAY) AS 参照排产日期,
           original_order
    FROM initial_data
)

-- 查询CTE
SELECT 品类产品, 生产时间开始, 生产时间结束, 该品类每天可排单数量, 参照排产日期
FROM scheduled_producet
ORDER BY original_order;

最终结果:
在这里插入图片描述

以下是带注释的SQL代码:

-- 第一个CTE: initial_data
-- 选择表中的所有列,并为每一行分配一个顺序编号 original_order
WITH initial_data AS (
    SELECT 品类产品, 生产时间开始, 生产时间结束, 该品类每天可排单数量,
           ROW_NUMBER() OVER () AS original_order
    FROM produces
),
-- 第二个CTE: scheduled_producet
-- 根据品类产品进行分区,并按原始顺序 original_order 排序,计算参照排产日期
scheduled_producet AS (
    SELECT 品类产品, 生产时间开始, 生产时间结束, 该品类每天可排单数量,
           DATE_ADD(生产时间开始, INTERVAL FLOOR(ROW_NUMBER() OVER (PARTITION BY 品类产品 ORDER BY original_order) / 该品类每天可排单数量) DAY) AS 参照排产日期,
           original_order
    FROM initial_data
)

-- 最终查询: 从 scheduled_producet 中选择所有列,并按原始顺序 original_order 排序输出
SELECT 品类产品, 生产时间开始, 生产时间结束, 该品类每天可排单数量, 参照排产日期
FROM scheduled_producet
ORDER BY original_order;


每个部分的作用如下:
initial_data CTE:为 produces 表中的每一行分配一个顺序编号 original_order,以记录原始数据的顺序。
scheduled_producet CTE:使用 ROW_NUMBER() 窗口函数按品类产品进行分区,并根据 original_order 计算 参照排产日期。参照排产日期 的计算基于每天可排单数量。
最终查询:从 scheduled_producet CTE 中选择所需列,并按 original_order 排序,确保输出顺序与原始数据顺序一致。

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

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

相关文章

《500 Lines or Less》(4)Contingent: A Fully Dynamic Build System(构建系统)

介绍 构建系统长期以来一直是计算机编程中的标准工具。 标准 make 构建系统由其作者获得 ACM 软件系统奖,于 1976 年首次开发。它不仅允许您声明一个输出文件依赖于一个(或多个)输入文件,而且可以递归地执行此操作。例如&#xf…

MySQL(5)

聚合函数 GROUP BY 的使用 需求:查询各个部门的平均工资,最高工资SELECT department_id,AVG(salary),SUM(salary)FROM employeesGROUP BY department_id;需求:查询各个job_id的平均工资SELECT job_id,AVG(salary)FROM employeesGROUP BY jo…

LabVIEW Actor架构特点与适用范围

LabVIEW的Actor架构提供了一种基于消息传递的并行任务管理方式,适合复杂系统的模块化设计。其特点包括高可扩展性、灵活的消息传递和并行处理能力。维护和修改要求较高,适合有一定经验的开发人员。对于中小型项目,可考虑选择更简单的状态机架…

使用winscp 通过中转机器(跳板机、堡垒机)密钥远程连接服务器,保姆级别教程

1.winscp下载地址 winscp下载 2.安装自己选择位置 3.连接服务器 到这里,基本就是没有壁垒机的就可直接连接,传递文件 4.配置中转服务器(壁垒机、跳板机) 选择高级选项 配置utf-8的编码格式 配置中转服务器(壁垒机、跳板机) 设置中专机的密码或者私钥 配置私钥

Vue3使用datav3报错问题解决

报错:Failed to resolve entry for package "dataview/datav-vue3". The package may have incorrect main/module/exports specified in its package.json. 修改package.json 修改为 "module": "./es/index.mjs",

《一头扎进》系列之Python+Selenium框架设计篇22- 价值好几K的框架,狼来了,狼来了....,狼没来,框架真的来了

宏哥微信粉丝群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 1. 简介 前边宏哥一边一边的喊框架,就如同一边一边的喊狼来了!狼来了!.....这回是狼没有来,框架真的来了。从本文开始宏哥将会一步一步介…

Django+Vue.js怎么实现搜索功能

一.前言 类似这样的搜索功能 二.前端代码 <div class"form-container"><div class"form-group"><label for"departure-city">出发城市</label><select v-model"departureCity" id"departure-city&q…

CentOS系统停服进入倒计时,用户该如何应对?

本月30日&#xff0c;CentOS 7将正式停服。 凭借开源免费、稳定、硬件兼容性等特性&#xff0c;CentOS深受中国乃至全世界厂商、开发者和用户的青睐&#xff0c;应用范围极为广泛。 停服停更&#xff0c;对于广大用户来说也是一项巨大的考验&#xff0c;这意味着用户将无法获得…

【web APIs】快速上手Day02

文章目录 Web APIs - 第2天事件事件监听案例一 :京东点击关闭顶部广告案例二&#xff1a;随机点名案例拓展知识-事件监听版本 双击事件 事件类型鼠标事件综合案例-轮播图完整版 焦点事件综合案例-小米搜索框案例 键盘事件文本事件 事件对象综合案例-按下回车发布评论 环境对象回…

VBA实战(Excel)(6):报错处理

前言 在运行VBA的过程中会有一些报错&#xff0c;例如类型不匹配等运行错误。On Error错误处理程序能直接有效的解决报错。但是当程序逻辑复杂时&#xff0c; 使用On Error会掩盖其他的未知错误&#xff0c;所以应尽可能想办法排除错误&#xff0c;或在已知功能范围内使用。 …

【有用】docker在windows下使用详情

在Windows下安装和使用Docker可以按照以下步骤进行&#xff1a; 安装 Docker Desktop 系统要求 • Windows 10 64-bit: Pro, Enterprise, or Education (1607 Anniversary Update, Build 14393 or later) • Windows 11 64-bit: Pro, Enterprise, or Education • Windows 10 …

python长方形周长面积 2024年3月青少年编程电子学会python编程等级考试二级真题解析

目录 python长方形周长面积 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python长方形周长面积 2024年3月 python编程等级考试级编程题 一、…

GIGE 协议摘录 —— 照相机的标准特征列表(五)

系列文章目录 GIGE 学习笔记 GIGE 协议摘录 —— 设备发现&#xff08;一&#xff09; GIGE 协议摘录 —— GVCP 协议&#xff08;二&#xff09; GIGE 协议摘录 —— GVSP 协议&#xff08;三&#xff09; GIGE 协议摘录 —— 引导寄存器&#xff08;四&#xff09; GIGE 协议…

数据中台:生产制造产业链的“智慧大脑”!

在当今激烈竞争的生产制造领域&#xff0c;数据中台正扮演着至关重要的角色&#xff0c;它就像是产业链的“智慧大脑”&#xff0c;引领着产业的发展方向&#xff01;数据中台在生产制造产业链、生态链中起到以下关键作用&#xff1a; 1. 数据整合与共享&#xff1a;将产业链各…

香橙派AIpro搭建NAS及AI功能介绍

简介和背景 本文档介绍如何用香橙派 AIpro和硬盘制作个人NAS服务器。 在一般场景下&#xff0c;专用的NAS设备或者台式电脑&#xff0c;他们占用体积庞大&#xff0c;并且功耗轻松就会到达100W以上&#xff0c;并且存在噪音大的问题。我们希望能够通过比较便捷简易的方法将硬盘…

YesPMP探索Python在生活中的应用,助力提升开发效率

Python是一种简单易学、高效强大的编程语言&#xff0c;正变成越来越多人选择的热门技能。学习Python不仅可以提供更多就业机会&#xff0c;还能让自己在职场更加有竞争力&#xff0c;那可以去哪里拓展自己的技能呢&#xff1f; YesPMP平台为熟练掌握Python语言的程序员提供了大…

Vue2后台管理:项目开发全流程(一)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:Vue2后台管理&#xff1a;项目开发全流程(一) 目录 Vue项目开发 项目架构搭建 1、创建项目 2、…

IDEA上MySQL的jar包导入教程

jar包下载网址——》https://mvnrepository.com/ 1.进入界面&#xff0c;点击搜索框&#xff0c;搜索mysql&#xff1a; 外国网站&#xff0c;可能有点慢,耐心等待即可。 2.点击查询结果&#xff1a; 进入界面&#xff0c;点击前两个结果的其中一个&#xff0c;两个都可以 …

《Brave New Words 》9.2 如何让孩子在 AI 未来职场中茁壮成长

Part IX: Work and What Comes Next 第九部分&#xff1a;工作及其未来发展 How to Prepare Kids to Thrive in the AI-Future Workplace 如何让孩子在 AI 未来职场中茁壮成长 It is several months before we launch Khanmigo, and I am speaking at the Stanford Computer Sc…

0603 BJT射极耦合差分式放大电路

6.2.3 BJT射极耦合差分式放大电路 电路组成 静态分析 动态分析 仅差模信号输入时 双端输出时电压增益 单端输出时电压增益 单端输入时 差模输入电阻 输出电阻 仅共模信号输入时 带有源负载的射极耦合差分式放大电路