当前位置: 首页 > news >正文

网站字体设计规范触屏手机网站模板

网站字体设计规范,触屏手机网站模板,有个域名怎样做网站,河北建设工程招标投标协会网站mysql如何不使用窗口函数,去统计出入库情况 你把这个表看做 进出库表,每个物料把时间正序后 依次累加数量 ,看这个物料的时间线上 是否会出现负数,1号进货5个 2号出库3个 3号你不能出库3个 最多俩个 不然就是负库存,…

mysql如何不使用窗口函数,去统计出入库情况

你把这个表看做 进出库表,每个物料把时间正序后 依次累加数量 ,看这个物料的时间线上 是否会出现负数,1号进货5个 2号出库3个  3号你不能出库3个 最多俩个 不然就是负库存,说白 就是按时间线累加每天的数据 每个时间线不能出现 负数。需要用mysql 写出来   aa date num A 2024-01-03   2 B 2024-01-05   -2  。要求不能使用窗口函数。    CREATE TABLE your_table (material_code VARCHAR(10),invoice_date DATE,quantity INT
);INSERT INTO your_table (material_code, invoice_date, quantity)
VALUES('A', '2024-01-03', 2),('A', '2024-01-04', 4),('A', '2024-01-05', -2),('A', '2024-01-05', -5),('A', '2024-01-05', 5),('A', '2024-01-06', -9),('A', '2024-01-07', 5),('B', '2024-01-03', 2),('B', '2024-01-04', 4),('B', '2024-01-05', -2),('B', '2024-01-05', -5),('B', '2024-01-05', 5),('B', '2024-01-06', -9),('B', '2024-01-07', 5);

你要通过 MySQL 查询每个物料的库存变化,并检查在时间线上的库存是否会出现负数。在这个场景下,我们需要按照 invoice_date 进行累加库存,累加时一旦发现某一天的库存变为负数,就可以将其标记为库存不足。

这个查询需要以下步骤:

  1. 按照 material_codeinvoice_date 将数据按时间升序排列。
  2. 对于每个物料,逐步累加 quantity,同时判断是否有任何时间点的库存是负数。
  3. 使用 变量 来累加数量并检查是否为负数,而不使用窗口函数。

MySQL 查询:

-- 定义变量
SET @current_stock = 0;
SET @prev_material = '';-- 查询每个物料的时间线库存变化,查看是否出现负数
SELECT material_code, invoice_date, quantity, @current_stock := CASE WHEN @prev_material = material_code THEN @current_stock + quantityELSE quantityEND AS stock_after_transaction,@prev_material := material_code AS material_code_check,CASE WHEN @current_stock < 0 THEN '库存不足'ELSE '库存充足'END AS stock_status
FROM your_table
ORDER BY material_code, invoice_date;

解释:

  1. @current_stock:一个变量,记录每个物料的当前累积库存。
  2. @prev_material:记录前一个物料的 material_code,以确保如果物料切换,库存会重新计算。
  3. 累加逻辑:如果当前物料与上一个相同,累加库存。如果物料变了,重置库存累加。
  4. 库存检查:如果某个时间点的库存小于 0,会标记为 库存不足

执行结果示例:

material_codeinvoice_datequantitystock_after_transactionstock_status
A2024-01-0322库存充足
A2024-01-0446库存充足
A2024-01-05-24库存充足
A2024-01-05-5-1库存不足
A2024-01-0554库存充足
A2024-01-06-9-5库存不足
A2024-01-0750库存充足
B2024-01-0322库存充足
B2024-01-0446库存充足
B2024-01-05-24库存充足
B2024-01-05-5-1库存不足
B2024-01-0554库存充足
B2024-01-06-9-5库存不足
B2024-01-0750库存充足

说明:

  • stock_after_transaction 是每个时间点的库存。
  • stock_status 表明库存是否充足,当库存低于 0 时显示 “库存不足”。

通过这个查询,你可以监控物料的库存变化,并及时发现负库存的情况。

============================================

=============================================================

【第二版:日期聚合】

好的,理解你的意思了。你希望在相同日期的 quantity 先进行聚合,然后再按日期累加库存变化。

我们可以在查询中加入一个聚合步骤,先对相同 material_codeinvoice_datequantity 进行汇总,之后再按照时间顺序进行库存的累加和检查。

更新的 MySQL 查询:

-- 定义变量
SET @current_stock = 0;
SET @prev_material = '';-- 先对相同日期的数量进行聚合,再按日期累加库存并检查是否为负
SELECT material_code, invoice_date, total_quantity, @current_stock := CASE WHEN @prev_material = material_code THEN @current_stock + total_quantityELSE total_quantityEND AS stock_after_transaction,@prev_material := material_code AS material_code_check,CASE WHEN @current_stock < 0 THEN '库存不足'ELSE '库存充足'END AS stock_status
FROM (-- 聚合相同日期的数量SELECT material_code, invoice_date, SUM(quantity) AS total_quantityFROM your_tableGROUP BY material_code, invoice_date
) AS aggregated_table
ORDER BY material_code, invoice_date;

解释:

  1. 内部子查询 aggregated_table

    • 通过 GROUP BY material_code, invoice_date 对相同物料、相同日期的数据进行聚合,使用 SUM(quantity) 来计算每天的总数量。
  2. 外部查询

    • 使用变量 @current_stock 来进行库存累加,逻辑与之前相同。如果物料切换,库存重新计算。
    • 继续检查库存是否为负数,并根据结果显示 “库存不足” 或 “库存充足”。

执行结果示例:

material_codeinvoice_datetotal_quantitystock_after_transactionstock_status
A2024-01-0322库存充足
A2024-01-0446库存充足
A2024-01-05-24库存充足
A2024-01-06-9-5库存不足
A2024-01-0750库存充足
B2024-01-0322库存充足
B2024-01-0446库存充足
B2024-01-05-24库存充足
B2024-01-06-9-5库存不足
B2024-01-0750库存充足

说明:

  • total_quantity 是经过日期聚合后的数量。
  • 之后的逻辑和之前一样,累加库存并检查是否为负。

这样,查询会先对同一天的数量进行汇总,然后再按照日期累加库存,确保你可以监控到任何可能出现负库存的情况。

http://www.yayakq.cn/news/312636/

相关文章:

  • 欧美电影免费网站网站上广告
  • 自己做网站卖东西需要交税吗外贸大型门户网站制作
  • 福建省建设职业管理中心网站上海地图
  • 免备案云服务器租用seo问答
  • 网站开发中界面河北省建设机械协会是正规网站吗
  • 企业网站模板购买自学网站建设看哪本书
  • 武清做网站公司设计和建设企业网站心得和体会
  • 网站经常被黑网站注册免费永久
  • 象山区网站建设学网站建设难
  • 网站建设小说毕业设计网络服务器施工方案
  • 网站的构建一般要多久如何注册国外域名
  • 怀远网站建设中科诚建建设工程有限公司网站
  • 如何上传网站风景网站模版
  • 做网站后台系统的规范个人网站作品
  • 房屋结构自建设计 网站上海网站注销
  • 东莞网站建设网站建设多少钱获取网站验证码地址
  • 可以做app的网站除了91还有什么关键词
  • 适合ps做图的素材网站有哪些投资类wordpress主题
  • 做一个网站开发要多少钱wordpress 按标题搜索
  • 北京网站网站建设广告制作服务
  • 临平建设局网站百度云盘搜索引擎入口
  • 网站后台登陆显示验证码错误php企业网站cms
  • 网站的动画广告横幅怎么做的做公考题的网站
  • 华为云做网站wordpress防止cc攻击
  • 企业seo网站推广大丰建站
  • 网站备案去哪里备案网站域名收费吗
  • 网站统计器千秋网络是家西安做网站的公司
  • 成都网站建设那个好公众号开发者模式怎么关闭
  • 威联通怎么建设网站招标网站建设招标方案
  • 石景山网站建设公司网站建设费应开具互联网信息服务吗