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

设计网站推荐理由公司网站备案电话

设计网站推荐理由,公司网站备案电话,网站功能图,宝塔装wordpress前言: 难得看到了套好题,没考我,呜呜,今日第三更! 原始表(ai生成) 1. 销售表(sales) 用途:记录每笔销售的产品 ID 及金额。 product_id(产品 …

前言:

难得看到了套好题,没考我,呜呜,今日第三更!

原始表(ai生成)

1. 销售表(sales)

用途:记录每笔销售的产品 ID 及金额。

product_id(产品 ID)sales_amount(销售金额)
1120
1180
2200
3150
3100
4100
550

2. 产品表(products)

用途:记录产品 ID 与产品名称的映射关系。

product_id(产品 ID)product_name(产品名称)
1产品 A
2产品 B
3产品 C
4产品 D
5产品 E

1、查询所有时间内,销售金额占比大于等于 10% 的产品,并按占比大小降序排序,
结果输出:产品名称 销售金额 占比

2、 所有时间内,销售金额占比大于等于 10% 的产品有多少个?占比排第三大的百分比为(四舍五入 2 位小数)?
填写示例:2 11.24%

题目1:思路:窗口函数:利用sum()over()

SELECTp.product_name AS "产品名称",SUM(s.sales_amount) AS "销售金额",ROUND(SUM(s.sales_amount) * 100.0 / SUM(SUM(s.sales_amount)) OVER(), 2) AS "占比"
FROMsales s
JOINproducts p ON s.product_id = p.product_id
GROUP BYp.product_name
HAVING"占比" >= 10  -- 直接引用SELECT中的别名,简化计算
ORDER BY"占比" DESC;

第二种做法:更直观:利用分布查询:

1、计算每个商品的销售金额:

WITH t1 AS (SELECTp.product_name,SUM(s.sales_amount) AS sales_amountFROMsales sJOINproducts p ON s.product_id = p.product_idGROUP BYp.product_name
)

2、计算前10%

SELECTproduct_name AS "产品名称",sales_amount AS "销售金额",ROUND(sales_amount * 100.0 / (SELECT SUM(sales_amount) FROM t1), 2) AS "占比"
FROMt1
WHEREROUND(sales_amount * 100.0 / (SELECT SUM(sales_amount) FROM t1), 2) >= 10
ORDER BY"占比" DESC;

 第二问:在第一问基础上利用count查询个数,where中加查询条件,要注意排名第三大表达方式limit1 offset2或者dense_rank的窗口去查询

1、还是一样的创建t1表,第一次将商品总值计算

WITH t1 AS (SELECTp.product_name,SUM(s.sales_amount) AS sales_amountFROMsales sJOIN products p ON s.product_id = p.product_idGROUP BY p.product_name
),

 2、创建t2表,计算其中10%的商品,利用dense_rank进行排序,where筛选条件

t2 AS (SELECTproduct_name,sales_amount,ROUND(sales_amount * 100.0 / (SELECT SUM(sales_amount) FROM t1), 2) AS ratio,DENSE_RANK() OVER(ORDER BY ratio DESC) AS dense_rank  -- 密集排名处理并列FROM t1WHERE ROUND(sales_amount * 100.0 / (SELECT SUM(sales_amount) FROM t1), 2) >= 10
)

3 select 即可 count(*)从第二问中查询大于10%的个数,max()找dense_rank=3的产品

SELECTCOUNT(*) AS product_count,MAX(CASE WHEN dense_rank = 3 THEN ratio END) AS third_ratio
FROM t2;
http://www.dtcms.com/a/409800.html

相关文章:

  • 事件驱动与CDS:基于FHIR R5 Subscriptions与Bulk Data的再考察(下)
  • Tigshop开源商城系统 Java v5.2.2 / PHP v5.1.6版本正式发布(ES搜索上新)
  • 仙游县住房和城乡建设局网站1元涨1000粉丝网站
  • 【Linux】进程概念(六):进程地址空间深度解析:虚拟地址与内存管理的奥秘
  • 网站怎么做微信登录界面wordpress restful
  • Linux下写一个简陋的shell程序
  • OpenSource - 异构数据库数据与结构同步工具dbswitch
  • 首次披露潮玩成长性,量子之歌敲响新财年重估的钟声
  • jdk21 list中筛选出符合条件的list
  • Session共享问题
  • 3. Ollama 安装,流式输出,多模态,思考模型
  • Go基础:常用数学函数处理(主要是math包rand包的处理)
  • 做彩票网站被捉将受到什么惩罚北京网站建设公司制作网站
  • 沈阳小程序建设兰州seo优化
  • 低疲劳高响应!硬件软件协同:明基 RD280U 赋能创作开发,解锁新工位高效工作氛围
  • Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)
  • wpf之 Popup
  • @xyflow/react:构建交互式节点流程图的完整指南
  • LinuxC++项目开发日志——基于正倒排索引的boost搜索引擎(5——通过cpp-httplib库建立网页模块)
  • 消息队列Apache Kafka教程
  • Hadess入门到实战(3) - 如何管理Npm制品
  • 【AI算法工程师的一些子路】音频大模型从入门到精通:算法工程师的成长之路
  • 透明的多级并发(行) 方式
  • 音乐网站还可以做做seo网站的公司哪家好
  • 【python3】Streamlit快速构建前端页面
  • ​FAQ: 如何在 WPF 项目中强制指定统一输出目录并确保 VS 调试正常?
  • mysql数据库学习之数据查询进阶操作(三)
  • 虚拟机下 Ubuntu 20.04 + Kubernetes 安装步骤
  • Docker nginx容器部署前端项目。
  • 基于WebAssembly的STEP文件3D在线查看器实现详解