23. 销售额完成任务指标的商品

这篇具有很好参考价值的文章主要介绍了23. 销售额完成任务指标的商品。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目需求

商家要求每个商品每个月需要售卖出一定的销售总额
假设1号商品销售总额大于21000,2号商品销售总额大于10000,其余商品没有要求
请写出SQL从订单详情表中(order_detail)查询连续两个月销售总额大于等于任务总额的商品

期望结果如下:

sku_id

(商品id)
1

需要用到的表:

订单明细表:order_detail

order_detail_id(订单明细id) order_id(订单id) sku_id(商品id) create_date(下单日期) price(商品单价) sku_num(商品件数)
1 1 1 2021-09-30 2000.00 2
2 1 3 2021-09-30 5000.00 5
存在的疑问

23. 销售额完成任务指标的商品,# HQL,数据库,hive,sql

实现一
-- 实现1-1 : 2)、3) 较难理解  --> 请看实现1-2

select sku_id
from (
-- 4) 选择出 (create_date_for 与 create_date_for_last 相差一个月) 的记录
         select sku_id,
                sum_price,
                sum_price_last,
                -- 5) 判断是否连续两个月的销售总额是否达到要求。1: 达到; 0: 未达到。
                case
                    when sku_id = 1 and sum_price >= 21000 and sum_price_last >= 21000 then 1
                    when sku_id = 2 and sum_price >= 10000 and sum_price_last >= 10000 then 1
                    else 0
                    end as whether_ok
         from (
                  -- 1) 统计 1号 2号 商品每个月的销售总额
                  select sku_id,
                         date_format(create_date, 'yyyy-MM')                                             create_date_for,
                         sum(price)                                                                      sum_price,
                         -- 2) 获取下一次销售月份, 如果为null,则默认使用 '9999-99'
                         lead(date_format(create_date, 'yyyy-MM'), 1, '9999-99')
                              over (partition by sku_id order by date_format(create_date, 'yyyy-MM')) as create_date_for_last,
                         -- 3) 获取下一次销售月份的销售总额, 如果为null,则默认使用 0
                         -- 注: 此处的 sum(price) 是计算的下一组的 销售总额
                         lead(sum(price), 1, 0.00)
                              over (partition by sku_id order by date_format(create_date, 'yyyy-MM')) as sum_price_last
                  from order_detail
                  where sku_id in (1, 2)
                        --  这里 date_format(create_date, 'yyyy-MM') 被视为一个整体
                  group by sku_id, date_format(create_date, 'yyyy-MM')
              ) t1
         where datediff(concat(create_date_for_last, '-01'), concat(create_date_for, '-01')) <= 31
     ) t2
where whether_ok = 1;


-- 实现1-2

select sku_id
from (
-- 4) 选择出 (create_date_for 与 create_date_for_last 相差一个月) 的记录
         select sku_id,
                sum_price,
                sum_price_last,
                -- 5) 判断是否连续两个月的销售总额是否达到要求。1: 达到; 0: 未达到。
                case
                    when sku_id = 1 and sum_price >= 21000 and sum_price_last >= 21000 then 1
                    when sku_id = 2 and sum_price >= 10000 and sum_price_last >= 10000 then 1
                    else 0
                    end as whether_ok
         from (
                  select sku_id,
                         create_date_for,
                         sum_price,
                         -- 2) 获取下一次销售月份, 如果为null,则默认使用 '9999-99'
                         lead(create_date_for, 1, '9999-99')
                              over (partition by sku_id order by create_date_for)                     as create_date_for_last,
                         -- 3) 获取下一次销售月份的销售总额, 如果为null,则默认使用 0
                         lead(sum_price, 1, 0.00) over (partition by sku_id order by create_date_for) as sum_price_last
                  from (
                           -- 1) 统计 1号 2号 商品每个月的销售总额
                           select sku_id,
                                  date_format(create_date, 'yyyy-MM') create_date_for,
                                  sum(price)                          sum_price
                           from order_detail
                           where sku_id in (1, 2)
                                 --  这里 date_format(create_date, 'yyyy-MM') 被视为一个整体
                           group by sku_id, date_format(create_date, 'yyyy-MM')
                       ) t1
              ) t2
         where datediff(concat(create_date_for_last, '-01'), concat(create_date_for, '-01')) <= 31
     ) t3
where whether_ok = 1;
题目来源

http://practice.atguigu.cn/#/question/23/desc?qType=SQL文章来源地址https://www.toymoban.com/news/detail-524120.html

到了这里,关于23. 销售额完成任务指标的商品的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python语法-面向对象数据分析案例(每日销售额柱状图数据可视化)

    面向对象数据分析案例(每日销售额柱状图数据可视化) 使用工具: Pycharm、面向对象、json模块、pyecharts模块等 实现步骤: 读取数据–封装数据对象–计算数据对象–pyechars绘图 (项目数据见文章末参考内容) 解析思路 是通过定义三个Python文件,各文件功能如下: data_d

    2024年02月08日
    浏览(44)
  • python 基于tkinter商品销售系统

    苹果手机商店信息管理系统 在信息时代的今天,计算机以其快速,准确的处理功能渗透在我们周围的方方面面,同时随着网络技术和软件技术的飞速发展,当今社会也正快速向信息化时代前进,信息系统的作用也越来越大,商业经营管理也日渐体现出运用计算机的优越性。商

    2023年04月09日
    浏览(73)
  • 53 | 金融行业股票销售指标分析

    引言: 金融行业中的股票销售指标分析是评估股票市场表现、投资者行为以及交易平台效果的重要手段。通过深入分析关键的销售指标,投资者、金融机构和交易平台可以更好地了解市场趋势,作出明智的投资决策,优化交易策略。本文将探讨金融行业股票销售指标分析的重

    2024年02月12日
    浏览(33)
  • 基于springboot+mysql+jpa+html实现商品销售信息系统

    订单管理模块 商品管理模块 品牌管理模块 分类管理模块 客户管理模块 供应商管理模块 web框架:SpringBoot 数据库框架:Sping Data JPA 数据库:MySql 项目构建工具:Maven 前端模板:html 开发工具:IDEA 编程语言:JDK1.8,HTML,CSS,JS,jQuery 数据库:mysql5.7以上 订单管理 商品管理 品牌管

    2024年02月03日
    浏览(44)
  • 【机器学习故事】“超市货架上的智慧:如何通过机器学习优化商品布局,引爆销售热潮“

    在一个明媚的早晨,阳光洒在你刚刚开张的超市上,货架上整齐地摆放着各式各样的商品,等待着顾客的光临。 你站在超市的入口,满怀期待地想象着顾客们满载而归的场景。然而,生意并没有你想象的那么好。你发现有些商品似乎总是卖不出去,而有些商品则经常缺货。你

    2024年01月21日
    浏览(46)
  • ChatGPT AIGC 完成各省份销售动态可视化分析

    像这样的动态可视化由人工智能ChatGPT  AIGC结合前端可视化技术就可以实现。 Prompt:请使用HTML,JS,Echarts 做一个可视化分析的案例,地图可视化,数据可以随机生成,请写出完整的代码 完整代码复制如下:

    2024年02月04日
    浏览(42)
  • FineBI实战项目一(23):订单商品分类词云图分析开发

    点击新建组件,创建订单商品分类词云图组件。 选择词云,拖拽catName到颜色和文本,拖拽cat到大小。 将组件拖拽到仪表板。 结果如下:

    2024年01月16日
    浏览(59)
  • 网上购物系统的设计与实现/在线商城/基于spring boot的电商平台/基于Java的商品销售系统

      摘   要 本毕业设计的内容是设计并且实现一个基于 Springboot 的 网上购物系统 。它是在Windows下,以MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器。 网上购物系统 的功能已基本实现,主要包括用户管理、数码分类管理、数码产品管理、服装分类管理、服装管理

    2024年02月12日
    浏览(40)
  • springboot/java/php/node/python篮球商品销售微信小程序设计与实现【计算机毕设】

    本系统 (程序+源码) 带文档lw万字以上    文末可领取本课题的JAVA源码参考 选题背景: 在当今数字化时代,微信小程序凭借其无需下载安装、即用即走的便捷性,已成为连接用户与服务的重要桥梁。篮球作为一项广受欢迎的体育运动,在全球范围内拥有庞大的爱好者群体

    2024年03月08日
    浏览(60)
  • 基于Python商品销售数据可视化大屏系统设计与实现(Springboot框架) 研究背景与意义、国内外研究现状

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包