mfy学习笔记
创建表并导入数据
CREATE TABLE sales (id INT,salesperson STRING,region STRING,sales_amount INT,sale_date DATE
);INSERT INTO sales (id, salesperson, region, sales_amount, sale_date)
VALUES
(1, 'Alice', 'North', 1000, '2023-01-01'),
(2, 'Bob', 'South', 1500, '2023-01-02'),
(3, 'Alice', 'North', 2000, '2023-01-03'),
(4, 'Charlie', 'East', 1200, '2023-01-04'),
(5, 'Bob', 'South', 1800, '2023-01-05'),
(6, 'Alice', 'North', 2500, '2023-01-06'),
(7, 'Charlie', 'East', 1300, '2023-01-07'),
(8, 'Bob', 'South', 2200, '2023-01-08'),
(9, 'Alice', 'North', 3000, '2023-01-09'),
(10, 'Charlie', 'East', 1400, '2023-01-10');
示例数据表:sales
id | salesperson | region | sales_amount | sale_date |
---|---|---|---|---|
1 | Alice | North | 1000 | 2023-01-01 |
2 | Bob | South | 1500 | 2023-01-02 |
3 | Alice | North | 2000 | 2023-01-03 |
4 | Charlie | East | 1200 | 2023-01-04 |
5 | Bob | South | 1800 | 2023-01-05 |
6 | Alice | North | 2500 | 2023-01-06 |
7 | Charlie | East | 1300 | 2023-01-07 |
8 | Bob | South | 2200 | 2023-01-08 |
9 | Alice | North | 3000 | 2023-01-09 |
10 | Charlie | East | 1400 | 2023-01-10 |
---### 1. `CASE WHEN` 示例
根据销售额给销售人员分类:```sql
SELECT salesperson,sales_amount,CASE WHEN sales_amount < 1500 THEN 'Low'WHEN sales_amount BETWEEN 1500 AND 2500 THEN 'Medium'ELSE 'High'END AS sales_category
FROM sales;
运行结果:
salesperson | sales_amount | sales_category |
---|---|---|
Alice | 1000 | Low |
Bob | 1500 | Medium |
Alice | 2000 | Medium |
Charlie | 1200 | Low |
Bob | 1800 | Medium |
Alice | 2500 | Medium |
Charlie | 1300 | Low |
Bob | 2200 | Medium |
Alice | 3000 | High |
Charlie | 1400 | Low |
2. SUM(CASE WHEN)
示例
计算每个区域的销售总额:
SELECT region,SUM(CASE WHEN salesperson = 'Alice' THEN sales_amount ELSE 0 END) AS alice_sales,SUM(CASE WHEN salesperson = 'Bob' THEN sales_amount ELSE 0 END) AS bob_sales,SUM(CASE WHEN salesperson = 'Charlie' THEN sales_amount ELSE 0 END) AS charlie_sales
FROM sales
GROUP BY region;
运行结果:
region | alice_sales | bob_sales | charlie_sales |
---|---|---|---|
North | 8500 | 0 | 0 |
South | 0 | 5500 | 0 |
East | 0 | 0 | 3900 |
3. RANK()
示例
根据销售额对销售人员进行排名:
SELECT salesperson,sales_amount,RANK() OVER (ORDER BY sales_amount DESC) AS sales_rank
FROM sales;
运行结果:
salesperson | sales_amount | sales_rank |
---|---|---|
Alice | 3000 | 1 |
Bob | 2200 | 2 |
Alice | 2500 | 3 |
Bob | 1800 | 4 |
Alice | 2000 | 5 |
Bob | 1500 | 6 |
Charlie | 1400 | 7 |
Charlie | 1300 | 8 |
Alice | 1000 | 9 |
Charlie | 1200 | 10 |
4. ROW_NUMBER()
示例
为每个销售人员的销售额分配一个唯一的行号:
SELECT salesperson,sales_amount,ROW_NUMBER() OVER (PARTITION BY salesperson ORDER BY sales_amount DESC) AS row_num
FROM sales;
运行结果:
salesperson | sales_amount | row_num |
---|---|---|
Alice | 3000 | 1 |
Alice | 2500 | 2 |
Alice | 2000 | 3 |
Alice | 1000 | 4 |
Bob | 2200 | 1 |
Bob | 1800 | 2 |
Bob | 1500 | 3 |
Charlie | 1400 | 1 |
Charlie | 1300 | 2 |
Charlie | 1200 | 3 |
5. DENSE_RANK()
示例
根据销售额对销售人员进行密集排名(不会跳过排名):
SELECT salesperson,sales_amount,DENSE_RANK() OVER (ORDER BY sales_amount DESC) AS dense_rank
FROM sales;
运行结果:
salesperson | sales_amount | dense_rank |
---|---|---|
Alice | 3000 | 1 |
Bob | 2200 | 2 |
Alice | 2500 | 3 |
Bob | 1800 | 4 |
Alice | 2000 | 5 |
Bob | 1500 | 6 |
Charlie | 1400 | 7 |
Charlie | 1300 | 8 |
Alice | 1000 | 9 |
Charlie | 1200 | 10 |
总结
CASE WHEN
:用于条件判断,生成新的列。SUM(CASE WHEN)
:用于按条件汇总数据。RANK()
:用于排名,允许并列排名并跳过后续名次。ROW_NUMBER()
:用于生成唯一的行号,即使数据相同也会分配不同行号。DENSE_RANK()
:用于密集排名,允许并列排名但不跳过后续名次。
通过这些示例和运行结果,可以清晰地展示每个函数的作用和用法!
相关文章:
mfy学习笔记
创建表并导入数据 CREATE TABLE sales (id INT,salesperson STRING,region STRING,sales_amount INT,sale_date DATE );INSERT INTO sales (id, salesperson, region, sales_amount, sale_date) VALUES (1, Alice, North, 1000, 2023-01-01), (2, Bob, South, 1500, 2023-01-0…...
mysql 学习19 MYSQL管理以及使用工具
系统数据库 常用工具 mysql [rootCentOS7 home]# mysql -h192.168.245.131 -P3306 -uroot -pmimaroot -e "select * from tb_sanguo_user;" centositcast [rootCentOS7 home]# mysql -h192.168.245.131 -P3306 -uroot -pmimaroot centositcast -e "select * fr…...
Linux | RHEL / CentOS 中 YUM history / downgrade 命令回滚操作
注:英文引文,机翻未校。 在 RHEL/CentOS 系统上使用 YUM history 命令回滚升级操作 作者: 2daygeek 译者: LCTT DarkSun 为服务器打补丁是 Linux 系统管理员的一项重要任务,为的是让系统更加稳定,性能更加…...
JavaScript基础(函数及面向对象)
函数 定义函数 Java定义方法: public 返回值类型 方法名(){ return 返回值 } 定义函数方法一 eg:定义一个绝对值函数 function abs(x) {if (x>0){return x;}else {return -x;}} 调用函数: 注意:一旦执行到return代表函数…...
Open WebUI中的Pipelines是什么
Open WebUI中的Pipelines是什么 Open WebUI中的Pipelines(管道或流水线)是一种允许开发者定制使用大模型流程的机制,能为OpenAI兼容的UI客户端带来模块化、定制化的工作流。以下是一些Pipelines实例及使用方法: 函数调用管道(Function Calling Pipeline) 实例:假设要让…...
伪404兼容huawei生效显示404
根据上述思考,以下是详细的中文分步说明: --- **步骤 1:获取目标设备的User-Agent信息** 首先,我们需要收集目标设备的User-Agent字符串,包括: 1. **iPhone设备的User-Agent**: Mozi…...
Linux 病毒扫描工具 ClamAV 使用
Linux 病毒扫描工具 ClamAV 使用 功能安装包管理器安装手动安装RPM/DEB包配置用户与目录更新病毒库 基本使用命令扫描文件/目录常用参数 高级配置实时监控(clamd服务)定时自动扫描 常见问题解决病毒库更新失败权限错误扫描速度慢 功能 官网:h…...
Mobaxterm服务器常用命令(持续更新)
切换文件夹 cd path # for example, cd /gpu03/deeplearning/进入不同GPU ssh mgmt ssh gpu01 ssh gpu03寻找文件位置 find /path -name file_name #for example, find / -name lib #在根目录下搜寻名为lib文件 #for example, find /home/deeplearning -name "lib"…...
[特殊字符]《封印adb的黑暗通道:让系统文件成为魔法禁书区的终极指南》[特殊字符]
第一章:当adb变成泄密特洛伊木马 "曾经,adb是程序员的阿拉丁神灯,如今却成了产品经理的噩梦!" —— 某秃头CTO的血泪控诉 某日,产品经理惊恐发现:自家黑科技APP竟被竞争对手用adb pull轻松窃取…...
LangChain教程 - RAG - 支持的100种向量数据库
系列文章索引 LangChain教程 - 系列文章 随着人工智能和机器学习应用的快速发展,尤其是在自然语言处理(NLP)、图像识别、推荐系统等领域,对高效的向量存储和检索需求日益增长。向量存储用于保存来自深度学习模型或其他机器学习算…...
如何使用tushare pro获取股票数据——附爬虫代码以及tushare积分获取方式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据 总结 一、Tushare 介绍 Tushare 是一个提供中国股市数据的API接口服务,它允许用户…...
ESP32S3:解决RWDT无法触发中断问题,二次开发者怎么才能使用内部RTC看门狗中断RWDT呢?
目录 基于ESP32S3:解决RWDT无法触发中断问题引言解决方案1. 查看报错日志2. 分析报错及一步一步找到解决方法3.小结我的源码基于ESP32S3:解决RWDT无法触发中断问题 引言 在嵌入式系统中,RWDT(看门狗定时器)是确保系统稳定性的重要组件。然而,在某些情况下,RWDT可能无法…...
如何在视频中提取关键帧?
在视频处理中,提取关键帧是一项常见的任务。下面将介绍如何基于FFmpeg和Python,结合OpenCV库来实现从视频中提取关键帧的功能。 实现思路 使用FFmpeg获取视频的关键帧时间戳:FFmpeg是一个强大的视频处理工具,可以通过命令行获取…...
基于 Python 的电影市场预测分析系统设计与实现(源码 + 文档)
大家好,今天要和大家聊的是一款基于 Python 的“电影市场预测分析”系统的设计与实现。项目源码以及部署相关事宜请联系我,文末附上联系方式。 项目简介 基于 Python 的“电影市场预测分析”系统主要面向以下用户角色:电影制片方、电影发行…...
2022年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题6)-网络部分解析-附详细代码
目录 附录1:拓扑图 附录2:地址规划表 1.SW1 2.SW2 3.SW3 4.SW4 5.VSU 6.SW7 7.R1 8.R2 9.R3 10.AC1 11.AC2 12.EG1 13.EG2 附录1:拓扑图 附录2:地址规划表...
道路三维数字化技术产品方案介绍(软硬件一体,适用于各等级公路)
目录 1、方案介绍2、设备系统简介3、设备系统技术指标4、数据处理软件简介5、数据管理平台简介6、成果展示 1、方案介绍 交通运输部印发《关于推进公路数字化转型加快智慧公路建设发展的意见》,推动公路建设、养护、运营等全流程数字化转型。提出了2027年和2035年的…...
速通HTML
目录 HTML基础 1.快捷键 2.标签 HTML进阶 1.列表 a.无序列表 b.有序列表 c.定义列表 2.表格 a.内容 b.合并单元格 3.表单 a.input标签 b.单选框 c.上传文件 4.下拉菜单 5.文本域标签 6.label标签 7.按钮标签 8.无语义的布局标签div与span 9.字符实体 HTML…...
从 Spring Boot 2 升级到 Spring Boot 3 的终极指南
一、升级前的核心准备 1. JDK 版本升级 Spring Boot 3 强制要求 Java 17 及以上版本。若当前项目使用 Java 8 或 11,需按以下步骤操作: 安装 JDK 17:从 Oracle 或 OpenJDK 官网下载,配置环境变量(如 JAVA_HOME&…...
Java 大视界 —— Java 大数据在智慧能源微电网能量管理中的关键技术(100)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
springboot实现多文件上传
springboot实现多文件上传 代码 package com.sh.system.controller;import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PostMap…...
vue自定义指令千分位
问题 开发的时候经常会遇到需要在输入框中输入数字转为千分位,点击填写时又转为数字的情况 解决 因此直接在vue中注入自定义指令,通过使用自定义指令达到效果;限制input输入框只能输入数字和一位小鼠带你 自定义指令-千分位 // 自定义指令-千…...
深入理解Redis:数据类型、事务机制及其应用场景
在当今快速发展的技术领域中,Redis作为一种高性能的内存数据库,已经被广泛应用于各种场景,从简单的缓存实现到复杂的数据处理任务。其灵活性和高效性主要来源于对多种数据结构的支持以及强大的功能特性,如事务处理、持久化选项、高…...
JVM生产环境问题定位与解决实战(三):揭秘Java飞行记录器(JFR)的强大功能
提到飞行记录器,或许你的脑海中并未立刻浮现出清晰的画面,但一说起“黑匣子”,想必大多数人都能恍然大悟,知晓其重要性及用途。在航空领域,黑匣子作为不可或缺的设备,默默记录着飞行过程中的每一项关键数据…...
MongoDB私人学习笔记
俗话说“好记性不如烂笔头”,编程的海洋如此的浩大,养成做笔记的习惯是成功的一步! 此笔记主要是ZooKeeper3.4.9版本的笔记,并且笔记都是博主自己一字一字编写和记录,有错误的地方欢迎大家指正。 一、基础知识…...
Ant Design按钮样式深度适配:实现<Button>与<a>标签颜色完美同步
Ant Design按钮样式深度适配:实现与标签颜色完美同步 问题现象诊断 组件结构原型 <Button type"link" disabled{disabled}><a href"...">下载</a> </Button>样式冲突表现 状态按钮颜色链接颜色视觉问题启用态Ant蓝…...
linux下软件安装、查找、卸载
目录 常见安装方式有三种: 1.源码安装。 2.rpm安装方式。 3.yum/apt工具级别安装。 对于前两种安装方式,因为软件可能有依赖关系(安装的软件依赖于某些库,而这些库又依赖于某些库,这些都需要手动安装)…...
鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar)
鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar) 1、效果展示2、下载 DevEco Studio3、创建项目4、新建页面模板5、更改应用信息6、新建以下页面7、Index.ets8、真机运行9、图片资源文件 1、效果展示 2、下载 DevEco Studio 访问官网根据自己的版本…...
【DeepSeek】-macOS本地终端部署后运行DeepSeek如何分析图片
【DeepSeek】-macOS本地终端部署后运行DeepSeek如何分析图片 根据您的需求,目前需要了解以下几个关键点及分步解决方案: --- 一、现状分析 1. Ollama 的限制: - 目前Ollama主要面向文本大模型,原生不支持直接上传/处理图片 …...
微信小程序源码逆向 MacOS
前言 日常工作中经常会遇到对小程序的渗透测试,微信小程序的源码是保存在用户客户端本地,在渗透的过程中我们需要提取小程序的源码进行问题分析,本篇介绍如何在苹果电脑 MacOS 系统上提取微信小程序的源码。 0x01 微信小程序提取 在苹果电…...
2025年2月科技热点深度解析:AI竞赛、量子突破与开源革命
引言 2025年的科技领域持续呈现爆发式增长,AI大模型竞争白热化、量子计算商业化加速、开源工具生态繁荣成为本月最受关注的议题。本文结合最新行业动态,从技术突破、商业布局到开发者生态,全面解析当前科技热点,为读者提供深度洞…...
Wireshark简单教程
1.打开Wireshark,点击最上面栏目里面的“捕获”中的“选项” 2.进入网卡选择界面,选择需要捕获的选择,这里我选择WLAN 3.双击捕获选择出现下面界面 4.点击如下图红方框即可停止捕获 5.点击下图放大镜可以进行放大 6.你也可以查询tcp报文如下图...
stm32单片机个人学习笔记16(SPI通信协议)
前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…...
面试题——简述Vue 3的服务器端渲染(SSR)是如何工作的?
面试题——简述Vue3的服务器端渲染(SSR)是如何工作的? 服务器端渲染(SSR)已经成为了一个热门话题。Vue 3,作为一款流行的前端框架,也提供了强大的SSR支持。那么,Vue 3的SSR究竟是如何…...
Ubuntu 22.04安装K8S集群
以下是Ubuntu 22.04安装Kubernetes集群的步骤概要 一、设置主机名与hosts解析 # Master节点执行 sudo hostnamectl set-hostname "k8smaster" # Worker节点执行 sudo hostnamectl set-hostname "k8sworker1"# 所有节点的/etc/hosts中添加: ca…...
Ubuntu搭建esp32环境 配置打开AT指令集 websocket功能
1,搭建前提 环境搭建参考乐鑫官网给的本地编译 ESP-AT 工程方法 因为公司电脑和网络的特殊性,不能正确解析域名(仅在浏览器上可以访问) ,所以这边访问的时候改成了ssh 未了避免使用外网困难的问题,这里用…...
java八股文-消息队列
一、MQ基础篇 1. 什么是消息队列? 消息队列(MQ)是分布式系统中实现异步通信的中间件,解耦生产者和消费者。 2. 使用场景有哪些? 异步处理(如注册后发送邮件)系统解耦(不同服务通过…...
[晕事]今天做了件晕事65,gcc,cmake, pragam
文章目录 晕事cmake,unity,对gcc pragma指令有没有影响pragma指令的影响pragma指令的使用规范使用注意事项:晕事 最近在某些不能有优化的函数前加了指令 #pragma GCC optimize ("O0")我记得是这个指令只影响当前编译单元。 但是被人找上来了, 因为这个文件所牵…...
SAP-ABAP:使用ST05(SQL Trace)追踪结构字段来源的步骤
ST05 是 SAP 提供的 SQL 跟踪工具,可以记录程序运行期间所有数据库操作(如 SELECT、UPDATE、INSERT)。通过分析跟踪结果,可以精准定位程序中结构字段对应的数据库表。 步骤1:激活ST05跟踪 事务码 ST05 → 点击 Activa…...
STM32--SPI通信讲解
前言 嘿,小伙伴们!今天咱们来聊聊STM32的SPI通信。SPI(Serial Peripheral Interface)是一种超常用的串行通信协议,特别适合微控制器和各种外设(比如传感器、存储器、显示屏)之间的通信。如果你…...
cpu、mem监控
deepseek 1、安装依赖2、psutil库3、streamlit库4、实战4.1 单机CPU和内存使用率监控4.2 多机CPU和内存使用率监控 1、安装依赖 /usr/bin/python3 -m pip install psutil streamlit2、psutil库 psutil是一个跨平台的Python库,用于获取系统使用情况的信息…...
工程实践中常见的几种设计模式解析及 C++ 实现
工程实践中常见的几种设计模式解析及 C 实现 在软件工程中,设计模式是一种通用的解决方案,用于解决常见问题和优化代码结构。它们通过提供一种规范化的编程思想,帮助开发者写出更高效、可维护和可扩展的代码。本文将介绍几种在工程实践中常见…...
ollama在linux上进行部署——离线安装说明
1. 官网下载ollama压缩包 https://ollama.com/download/ollama-linux-amd64.tgz sudo tar -C /usr -xzf ollama-linux-amd64.tgz #解压安装 2. 添加systemctl服务启动文件 添加服务文件:/etc/systemd/system/ollama.service [Unit] DescriptionOllama …...
(一)趣学设计模式 之 单例模式!
目录 一、啥是单例模式?二、为什么要用单例模式?三、单例模式怎么实现?1. 饿汉式:先下手为强! 😈2. 懒汉式:用的时候再创建! 😴3. 枚举:最简单最安全的单例&a…...
基于无人机遥感的烟株提取和计数研究
一.研究的背景、目的和意义 1.研究背景及意义 烟草作为我国重要的经济作物之一,其种植面积和产量的准确统计对于烟草产业的发展和管理至关重要。传统的人工烟株计数方法存在效率低、误差大、难以覆盖大面积烟田等问题,已无法满足现代烟草种植管理的需求…...
在windows下安装windows+Ubuntu16.04双系统(上)
这篇文章的内容主要来源于这篇文章,给文章很详细的介绍了如何从windows下安装windowsubuntu16.04双系统。我刚开始装双系统都是参照这个方法,该作者前后更新了两个版本,在这里对其稍微进行整理一下。 一、准备:(这里推…...
TensorFlow 是一个由 Google 开发的开源机器学习库
TensorFlow 是一个由 Google 开发的开源机器学习库,被广泛应用于深度学习和人工智能领域。它的基本概念包括以下几点: 张量(Tensors):在 TensorFlow 中,数据的基本单位是张量,它类似于多维数组或…...
C++ day4 练习
一、练习1 找到第一天mystring练习,实现以下功能: mystring str "hello"; mystring ptr "world"; str str ptr; str ptr; str[0] H; 【代码】: #include <iostream> #include <cstring> #include &l…...
利用机器学习实现实时交易欺诈检测
以下是一个基于Python的银行反欺诈AI应用示例代码,演示如何利用机器学习实现实时交易欺诈检测。该示例使用LightGBM算法训练模型,并通过Flask框架构建实时检测API: python import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preproc…...
基于Hadoop的汽车大数据分析系统设计与实现【爬虫、数据预处理、MapReduce、echarts、Flask】
文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍爬虫数据概览HIve表设计Cars Database Tables 1. cars_data2. annual_sales_volume3. brand_sales_volume4. city_sales_volume5. sales_volume_by_year_and_brand6. sales_distri…...
安宝特科技 | Vuzix Z100智能眼镜+AugmentOS:重新定义AI可穿戴设备的未来——从操作系统到硬件生态,如何掀起无感智能革命?
一、AugmentOS:AI可穿戴的“操作系统革命” 2025年2月3日,Vuzix与AI人机交互团队Mentra联合推出的AugmentOS,被业内视为智能眼镜领域的“iOS时刻”。这款全球首个专为智能眼镜设计的通用操作系统,通过三大突破重新定义了AI可穿戴…...