# 阿里云天池龙珠计划 SQL 训练营 - Task06 part2
老铁们集合了今天继续TASK06。SQL训练营的内容我们已经全部学完了TASK06主要是练习题帮大家掌握知识点。使用的数据都是真实数据。更贴近我们的实际工作情况。今天是第二部分没有看第一部分的老铁不用着急点击下方链接即可查看第一堂课的内容。第一部分内容 6.1话不多说我们继续上课。今天来看第二题“请使用 Wine Quality Data 数据集《winequality-red.csv》找出 pH3.03的所有红葡萄酒然后对其 citric acid 进行中式排名相同排名的下一个名次应该是下一个连续的整数值。换句话说名次之间不应该有“间隔””。我们先看对应的数据集如下我这里主要把列名都现实全表格一共有1599条数据数据太多就布全显示了。我来讲一下各个列名的含义让大家对表格有一个总体认识。字段名 中文解释 说明fixed acidity 固定酸度 酒石酸等不挥发性酸含量单位 g/dm³影响葡萄酒的酸味和结构感volatile acidity 挥发酸度 醋酸等挥发性酸含量单位 g/dm³过高会产生醋味是变质指标citric acid 柠檬酸 柠檬酸含量单位 g/dm³少量添加可增加清爽感residual sugar 残留糖分 发酵后剩余的糖分含量单位 g/dm³干红通常 4g/Lchlorides 氯化物 盐分含量单位 g/dm³过高可能有咸味free sulfur dioxide 游离二氧化硫 未结合的 SO₂ 含量单位 mg/L起抗氧化和抑菌作用total sulfur dioxide 总二氧化硫 游离态 结合态 SO₂ 的总和单位 mg/L受法规限量约束density 密度 葡萄酒的密度单位 g/cm³与酒精含量、糖分有关pH pH 值 酸碱度指标范围通常 3.0~3.6影响口感、稳定性和颜色sulphates 硫酸盐 硫酸钾等含量单位 g/dm³影响葡萄酒的保鲜能力和口感alcohol 酒精含量 体积百分比单位 %vol典型范围 9.5~14.5%quality 质量评分 目标变量0~10 分通常 3~8 分由专家感官评价得出这里有几个说明要注意一下1alcohol酒精含量就是我们日常喝酒时候说的酒精度也叫度数。我们说这瓶酒多少度二锅头56度天之蓝42度。指的就是酒精含量而且是体积的百分比不是质量的百分比。比如一瓶酒精度为12%的葡萄酒意味着100毫升的酒中纯酒精占了12毫升。当你看到alcohol 字段数值为9.5或14.0时可以直接理解为酒精度数百分比。2citric acid这个是柠檬酸含量少量添加可以提升果香和清新感但过量会使酒变得过于尖锐。3volatile acidity挥发酸度这个是判断葡萄酒是否变质的核心指标。高挥发酸度的酒通常评分较低。4sulphates硫酸盐硫酸盐有助于保鲜和提升口感适量使用可提升品质。以上四个指标使判断酒品质好坏的主要依据。一般来说做好酒alcohol要高volatile acidity 要底sulphates和citric acid要适中。好的了解完了背景知识我们回到题目。要求找出ph3.03的所有红葡萄酒这个使条件即where ph3.03。对citric acid进行中式排名相同排名的下一个名次应该是下一个连续的整数值。换句话说名次之间不应该有“间隔”。即如下排名排名 数学分数1 992 963 903 904 865 80大家注意看排名“3”两个90分第三名并列有两个但是下一名86分的是排名“4”。即排名连续相同数值的排名一致。题目里面出现了“ph”和“citric acid”那么我们也只查询这两个字段。这道题目不难我直接上答案SELECTpH,citric acid,DENSE_RANK()OVER(ORDERBYcitric acidDESC)ASranknFROMwinequality-redWHEREpH3.03;下面为结果· PH citric acid dense_rank() over (order bycitric aciddesc)1 3.03 0.65 12 3.03 0.59 23 3.03 0.52 34 3.03 0.51 45 3.03 0.51 46 3.03 0.48 5我们看到有两个“0.51”并列排名第四下面一个0.48排名第五。符合题目要求。有的同学可能会问“dense_rank() over (order bycitric aciddesc)”这一例名称太长了可不可以简化一下比如“rank。答案是OK的可以改成rank也可以改成其它名称。我们优化一下语句selectPH,citric acid,dense_rank()over(orderbycitric aciddesc)rankfromwinequality-redwhereph3.03;我们看到在dense_rank后面我加上了‘rank’中间有空格这样的语句对我们结果有什么影响我们运行看我们看到那个长长的名称“ dense_rank() over (order bycitric aciddesc)”不见了取而代之的是’rank’。有同学可能会问那我去掉单引号直接rank可以不。大家可以试一下。去掉单引号完了运行看是否可以。不出意外rank下面会有红色波浪线部分字体也会变红运行不会通过会有如下提示这个问题的主要原因是rank为mysql关键字rank()是一个窗口函数当我们敲入rank时mysql会误认为函数调用从而导致语法错误。解决方案就是rank加上单引号或者不用mysql关键字用一个非关键字代换。其实我们只要加一个“s”就可以变为ranks。解决了关键字问题列名也好懂。优化后如下selectPH,citric acid,dense_rank()over(orderbycitric aciddesc)ranksfromwinequality-redwhereph3.03;结果如下这里我们变更了一个列名另外两个可以变更吗当然可以只要变更的名称不是关键字就可以。如果是关键字最简单的办法就是后面加“s”。比我我们把“ph”变成“p”语句如下selectPH p,citric acid,dense_rank()over(orderbycitric aciddesc)ranksfromwinequality-redwhereph3.03;“ph”后面加空格一定要有空格加一个字母p就可以。mysql就知道p是ph的别名。当然除了p改成其它非关键字都可以。结果如下我们可以看到列名变了为P。除了列名还有一点需要大家注意就是排名方式。我们刚才的排名方式就是3445叫中式排名。在其它场合我们应该见过其它类型的排名。mysql一共提供了三种排名除了我们刚才使用的还有两种。我们先看第二种语句如下selectPH,citric acid,row_number()over(orderbycitric aciddesc)ranks-- 变为row_numberfromwinequality-redwhereph3.03;关键字dense_rank变为row_number结果如下我们看到排名这一列数字都是连续的两个0.51的排名分别为4、5。即row_number排名是连续的且唯一的。至于4、5的两个排名对应的内容哪一个在上面4哪一个在下面不确定都有可能每一次查询结果可能会变。如果你的业务逻辑不关心相同值之间的顺序只是让每行都有一个编号那就可以直接用row_number。如果你希望排名结果稳定结果相同可以增加其它排名条件比如表格里面的density等语句如下selectPH,density-- 增加选择条件,citric acid,row_number()over(orderbycitric aciddesc,densityasc)ranks-- 增加排名条件densityfromwinequality-redwhereph3.03;增加排名条件意为当citric acid相同时按照density排名当然后面还可以增加条件但一般没有必要。这样每次查询都会输出稳定结果。我们来看最后一种排名方式就是排名不唯一不连续好比这种12335。并列第三有两个那么下一个就是第五不是第四。语句如下selectPH,citric acid,rank()over(orderbycitric aciddesc)ranksfromwinequality-redwhereph3.03;结果如下我们可以看到并列第四有两个下面一个为第六。以上就是三种排名方式我做一下总结关键字 特点 示例dense_rank() 排名连续且不唯一 123345row_number() 排名连续且唯一 123456rank() 排名不连续不唯一 123356大家可以结合实际业务场景选择排名方式。今天总结一下课程1关于红酒酒精度是指体积比不是质量比。2列可以起别名但是不要用关键字如果一定要用可以在关键字后面加s。3mysql给出了三种排名方式大家可以根据实际情况选择一种。好了今天的课程就到这。大家有什么想说的可以评论区留言。也欢迎大家点赞关注。

相关新闻

向量数据库选型实战:Chroma、Milvus、Faiss、Weaviate核心差异与生产避坑

向量数据库选型实战:Chroma、Milvus、Faiss、Weaviate核心差异与生产避坑

1. 这不是选数据库,是给AI应用装上“记忆中枢”——为什么你必须亲手拆解Chroma、Milvus、Faiss、Weaviate我第一次在客户现场部署RAG系统时,用的是默认配置的Chroma。上线第三天,用户反馈“搜不到昨天刚塞进去的合同条款”。排查两小时&…

2026/10/17 7:31:40 阅读更多 →
Godot项目逆向恢复实战:从PCK文件到可编辑源码的完整指南

Godot项目逆向恢复实战:从PCK文件到可编辑源码的完整指南

1. 项目概述:当你的Godot项目源文件丢失时作为一名游戏开发者,最让人头皮发麻的瞬间,莫过于硬盘突然罢工,或者手滑误删了那个包含了数月心血的Godot项目文件夹。你手头只剩下一个孤零零的、打包好的.pck文件或可执行程序&#xff…

2026/10/18 2:25:22 阅读更多 →
汽车电子驻车系统(EPB)核心技术解析

汽车电子驻车系统(EPB)核心技术解析

1. 电子驻车系统(EPB)技术概述电子驻车系统(Electric Parking Brake,简称EPB)作为传统机械手刹的电子化替代方案,已成为现代汽车制动系统的核心组件。这套系统通过电机驱动取代传统拉索机构,实现…

2026/10/17 10:32:54 阅读更多 →

最新新闻

SAP HCM组织管理模块深度解析:从数据模型到落地实践

SAP HCM组织管理模块深度解析:从数据模型到落地实践

做SAP HCM项目的人,第一个被端上桌讨论的模块往往不是薪酬,而是组织管理(OM)。很多客户一开始不理解,说我们只是想上一套发薪系统,为什么第一件事是画一张这样的组织结构图?但在项目里实际走一遍…

2026/10/19 6:33:53 阅读更多 →
四麦TDOA声源定位实战:从仿真到嵌入式落地的关键经验

四麦TDOA声源定位实战:从仿真到嵌入式落地的关键经验

如果你搜过声源定位,大概率第一眼看到的就是波束成形、TDOA、GCC-PHAT 这些词,感觉原理很清晰。但真正把一个声源定位项目从仿真推到嵌入式落地,你会发现最折磨人的根本不是算法公式,而是麦克风间距怎么选、浮点转定点怎么做、四颗…

2026/10/19 6:33:53 阅读更多 →
KDE核密度估计:原理、Python实现与带宽选择实战

KDE核密度估计:原理、Python实现与带宽选择实战

在做数据探索的时候,我经常被问到一个问题:想看一眼数据的分布,但直方图怎么这么“丑”?换个分箱宽度,原本看着像双峰的数据一下子变成单峰,换个箱体起点,峰的位置都能平移。后来被KDE&#xff…

2026/10/19 6:33:53 阅读更多 →
本地优先AI助手Moltbot:架构、记忆与工具调用实战

本地优先AI助手Moltbot:架构、记忆与工具调用实战

"本地优先"这个概念在AI圈里已经喊了好几年,但真正把它做成一个能天天用的助手,而不是一个跑完demo就吃灰的玩具,难度比想象中大得多。我自己折腾了大概一个月,把一款叫 Moltbot 的AI助手从纯云端API彻底搬到了本地跑&a…

2026/10/19 6:33:53 阅读更多 →
百万级点赞系统高并发架构:缓存、幂等与异步落库实战

百万级点赞系统高并发架构:缓存、幂等与异步落库实战

1. 点赞流量的残酷真相:均值没有意义,突刺才是生死线先说一个我亲手踩过的场景。某天下午运营临时推了一条活动内容,数据在二十分钟内直接冲上了推荐榜,我当时负责的内容系统里,点赞写接口的耗时就从这个时间点开始飙升…

2026/10/19 6:33:53 阅读更多 →
代码重构是手艺活:行为不变、小步提交与可回滚的实战心法

代码重构是手艺活:行为不变、小步提交与可回滚的实战心法

代码重构这件事,我一直觉得被很多人做小了。刚工作那几年,我也把重构当成"把看不顺眼的代码改成看得顺眼的代码",干起来特别解压,改完还有一种莫名的成就感。直到有一次,我花两个晚上把一个模块从里到外收拾…

2026/10/19 6:32:52 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →