【第35天】SQL进阶-SQL高级技巧-透视表(SQL 小虚竹)

news2024/11/16 7:47:36

回城传送–》《100天精通MYSQL从入门到就业》

文章目录

  • 零、前言
  • 一、练习题目
  • 二、SQL思路
    • 初始化数据
    • 什么是透视表
    • 实战体验
  • 三、总结
  • 四、参考

零、前言

今天是学习 SQL 打卡的第 35 天。

​ 我的学习策略很简单,题海策略+ 费曼学习法。如果能把这些题都认认真真自己实现一遍,那意味着 SQL 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。

今天的学习内容是:SQL高级技巧-透视表

一、练习题目

题目链接难度
透视表★★★☆☆

二、SQL思路

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

初始化数据

创建销售记录表sales_records

CREATE TABLE sales_records (  
    id INT AUTO_INCREMENT PRIMARY KEY,  
    product_name VARCHAR(100) NOT NULL,  
    sale_date DATE NOT NULL,  
    amount DECIMAL(10, 2) NOT NULL  
);

这个表包含销售记录的ID、产品名称、销售日期和销售金额。

接下来,我们插入一些测试数据:

INSERT INTO sales_records (product_name, sale_date, amount) VALUES  
('产品A', '2023-01-01', 100.00),  
('产品B', '2023-01-01', 150.00),  
('产品A', '2023-01-02', 200.00),  
('产品C', '2023-01-02', 120.00),  
('产品B', '2023-01-03', 180.00),  
('产品A', '2023-01-03', 250.00);

这些数据表示了三种产品在不同日期的销售金额。

什么是透视表

MySQL的透视表实际上是一种通过SQL查询模拟出来的数据展示形式。它允许我们将原始数据按照不同的维度进行聚合和重排,从而以更清晰、直观的方式展示数据。

实战体验

例子:创建一个透视表,展示每种产品在每天的销售金额。

SELECT
	PRODUCT_NAME,
	SUM(CASE WHEN SALE_DATE = '2023-01-01' THEN AMOUNT ELSE 0 END) AS '2023-01-01',
	SUM(CASE WHEN SALE_DATE = '2023-01-02' THEN AMOUNT ELSE 0 END) AS '2023-01-02',
	SUM(CASE WHEN SALE_DATE = '2023-01-03' THEN AMOUNT ELSE 0 END) AS '2023-01-03'
FROM
	SALES_RECORDS
GROUP BY
	PRODUCT_NAME;

在这里插入图片描述
这个查询使用了CASE语句和SUM()聚合函数来按照产品名称和日期对销售金额进行汇总。GROUP BY子句则确保结果按照产品名称进行分组。

执行上述查询后,你将得到一个透视表形式的结果,其中每一行代表一个产品,每一列代表一个特定日期的销售金额。

三、总结

虽然MySQL没有内置的透视表功能,但我们可以通过编写复杂的SQL查询来模拟实现透视表的效果。这种方法在处理简单透视需求时非常有效,但对于更复杂的场景,可能需要更高级的查询技术或考虑使用其他数据处理工具。

在实际应用中,透视表常用于数据分析和报告生成,它能够帮助我们更好地理解和展示数据的内在关系。通过结合MySQL的查询功能和透视表的思想,我们可以更加灵活地处理和呈现数据。

所以,嗯,这题的答案选。。评论区大声告诉虚竹哥。

四、参考

MySQL进阶技能树–》SQL高级技巧–》透视表

我是虚竹哥,我们明天见~

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

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

相关文章

网络安全-Diffie Hellman密钥协商

密钥协商是保密通信双方(或更多方)通过公开信道来共同形成密钥的过程。一个密钥协商方案中,密钥的值是某个函数值,其输入量由两个成员(或更多方)来提供。密钥协商的记过是参与协商的双方(或更多…

消息服务应用1——java项目使用websocket

在当前微服务项目中,由于业务模块众多,消息服务的使用场景变得异常活跃。而WebSocket由于其自身的可靠性强,实时性好,带宽占用更小的优势,在实时通讯应用场景中独占鳌头,加上HTML5标准的普及流行&#xff0…

MultiHeadAttention在Tensorflow中的实现原理

前言 通过这篇文章,你可以学习到Tensorflow实现MultiHeadAttention的底层原理。 一、MultiHeadAttention的本质内涵 1.Self_Atention机制 MultiHeadAttention是Self_Atention的多头堆嵌,有必要对Self_Atention机制进行一次深入浅出的理解,这…

Docker 入门篇(一)-- 简介与安装教程(Windows和Linux)

一、Docker简介 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间没有任何接口(类似iPhon…

记录海豚调度器删除工作流实例失败的解决办法(DolphinScheduler的WebUI删除失败)

本博客记录以下问题解决办法:使用dolphinscheduler的WebUI运行工作流后出现内存占用过高导致的任务阻塞问题,并且在删除工作流实例时总是报错无法删除 解决步骤 在前端页面无法删除,于是搜索资料,发现可以登录数据库进行工作流实…

【C语言 |预处理指令】预处理指令详解(包括编译与链接)

目录 一、编译与链接 1.翻译环境 -预处理 -编译 -汇编 -链接 2.执行环境 二、预定义符号 三、#define定义常量 四、#define定义宏 五、带有副作用的宏参数 六、宏替换的规则 七、 宏函数的对比 八、#和## 1.#运算符 2.##运算符 九、命名约定 十、#undef 十一、 命…

【服务器部署篇】Linux下Tomcat安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…

Linux网络编程---Socket编程

一、网络套接字 一个文件描述符指向一个套接字(该套接字内部由内核借助两个缓冲区实现。) 在通信过程中,套接字一定是成对出现的 套接字通讯原理示意图: 二、预备知识 1. 网络字节序 内存中的多字节数据相对于内存地址有大端和小端之分 小端法&…

Ubuntu终端常用指令

cat cat 读取文件的内容 1、ls 一、 1、ll 显示当前目录下文件的详细信息,包括读写权限,文件大小,文件生成日期等(若想按照更改的时间先后排序,则需加-t参数,按时间降序(最新修改的时间排在最前)执行: $ ll -t, 按时间升序执行: $ ll -t | tac): ll 2、查看当前所处路径(完整…

Qt中常用对话框

Qt中的对话框(QDialog)是用户交互的重要组件,用于向用户提供特定的信息、请求输入、或进行决策。Qt提供了多种标准对话框以及用于自定义对话框的类。以下将详细介绍几种常用对话框的基本使用、使用技巧以及注意事项,并附带C示例代…

node.js 解析post请求 方法一

前提:依旧以前面发的node.js服务器动态资源处理代码 具体见 http://t.csdnimg.cn/TSNW9为模板,在这基础上进行修改。与动态资源处理代码不同的是,这次的用户信息我们借用表单来实现。post请求解析来获取和展示用户表单填写信息 1》代码难点&…

全彩屏负氧离子监测站的使用

TH-FZ5在繁忙的都市生活中,我们往往忽视了一个至关重要的问题——空气质量。随着工业化的进程加速,空气污染已成为影响人们健康的一大隐患。为了实时监测和了解身边的空气质量,全彩屏负氧离子监测站应运而生,成为了我们守护呼吸健…

企业集成平台建设方案(技术方案+功能设计)

企业集成平台建设方案及重点难点攻坚 基础支撑平台主要承担系统总体架构与各个应用子系统的交互,第三方系统与总体架构的交互。需要满足内部业务在该平台的基础上,实现平台对于子系统的可扩展性。基于以上分析对基础支撑平台,提出了以下要求&…

稀碎从零算法笔记Day59-LeetCode: 感染二叉树需要的总时间

题型:树、图、BFS、DFS 链接:2385. 感染二叉树需要的总时间 - 力扣(LeetCode) 来源:LeetCode 题目描述 给你一棵二叉树的根节点 root ,二叉树中节点的值 互不相同 。另给你一个整数 start 。在第 0 分钟…

25计算机考研院校数据分析 | 北京航空航天大学

北京航空航天大学(Beihang University),简称北航,由中华人民共和国工业和信息化部直属,中央直管副部级建制,位列“双一流”、"211工程”、"985工程”,入选“珠峰计划”、"2011计划”、“111计划”、&qu…

STM32标准库ADC和DMA知识点总结

目录 前言 一、ADC模数转换器 (1)AD单通道 (2)AD多通道 二、DMA原理和应用 (1)DMA数据转运(内存到内存) (2)DMAAD多同道(外设到内存&#x…

debian和ubuntu的核心系统和系统命令的区别

Debian和Ubuntu虽然有很深的渊源,都是基于Debian的发行版,但它们在核心系统和系统命令上还是有一些差别的。以下是一些主要的不同之处: 1. 发布周期: - Debian: Debian项目采用滚动发布模型,持续更新&a…

SpringCloud Alibaba--nacos配置中心

目录 一.基础介绍 1.1概念 1.2 功能 二.实现 2.1 依赖 2.2 新建配置文件 2.3 克隆 2.4 配置bootstap.yml文件 三.测试 一.基础介绍 1.1概念 在微服务架构中,配置中心就是统一管理各个微服务配置文件的服务。把传统的单体jar包拆分成多个微服务后&#xf…

到底什么是认证

认证和授权 什么是认证 认证 (Authentication) 是根据凭据验明访问者身份的流程。即验证“你是你所说的那个人”的过程。 身份认证,通常通过用户名/邮箱/手机号以及密码匹配来完成,也可以通过手机/邮箱验证码或者生物特征(如:指纹…

LangChain的核心模块和实战

主要模型 LLM:对话模型, 输入和输出都是文本Chat Model: 输入输出都是数据结构 模型IO设计 Format: 将提示词模版格式化Predict: langchain就是通过predict的方式调用不同的模型, 两个模型的区别不大, Chat Model 是以LLM为基础的.Parese: langchain还可以对结果进行干预, 得…