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

数据库复习整理

1.group by与where
一,group by 字句也和where条件语句结合在一起使用。当结合在一起时,where在前,group by 在后。
即先对select xx from xx的记录集合用where进行筛选,然后再使用group by 对筛选后的结果进行分组 使用having字句对分组后的结果进行筛选。
二,需要注意having和where的用法区别:
1.having只能用在group by之后,对分组后的结果进行筛选(即使用having的前提条件是分组)。
2.where肯定在group by 之前。
3.where后的条件表达式里不允许使用聚合函数,而having可以。
三,当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序是:
1.执行where xx对全表数据做筛选,返回第1个结果集。
2.针对第1个结果集使用group by分组,返回第2个结果集。
3.针对第2个结果集中的每1组数据执行select xx,有几组就执行几次,返回第3个结果集。
4.针对第3个结集执行having xx进行筛选,返回第4个结果集。
5.针对第4个结果集排序。

2.partition by用法
1)partition by:partition by与group by不同之处在于前者返回的是分组里的每一条数据,并且可以对分组数据进行排序操作。后者只能返回聚合之后的组的数据统计值的记录。
2)rank() over(partition by A order by B)与dense_rank() over(partition by A order by B)区别:
rank()
是按照A进行分组,分组里面的数据按照B进行排序,over即在什么之上,rank()即跳跃排序(比如存在两个第一名,接下来就是第三名) 
dense_rank()
连续排序(如果有两个第一名时,接下来仍然是第二名) 
3)row_number() over(partition by A order by B):
row_number(): 如果有两个第一名时,只返回一个结果。
参考:https://blog.csdn.net/locken123/article/details/127411319


 3.ORDER BY 2 DESC,1 ASC:先按照选择列里的第二列进行降序排序,再按选择列的第一列降序排序

4.case when then else end
Case when 语句能在sql语句中植入语句判断的逻辑,类似于if else语句
1 case 字段 when 什么时候 then 结果 else 结果2 end

eg:以如下形式显示:课程 ID,课程 name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率;及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90
SELECT SC.CId,Course.Cname,MAX(SC.score) 最大值,MIN(SC.score) 最小值,AVG(SC.score) 平均数,
SUM(CASE WHEN SC.score>=60 then 1 else 0 END)*1.0/COUNT(SC.score) 及格率,
SUM(CASE WHEN SC.score BETWEEN 70 AND 80 then 1 else 0 END)*1.0/COUNT(SC.score) 中等率,
SUM(CASE WHEN SC.score BETWEEN 80 AND 90  then 1 else 0 END)*1.0/COUNT(SC.score) 优良率,
SUM(CASE WHEN SC.score>=90 then 1 else 0 END)*1.0/COUNT(SC.score) 优秀率
FROM SC,Course
WHERE SC.CId=Course.CId
GROUP BY SC.CId,Course.Cname

5.distinct:去重

6.DATEDIFF( datepart , startdate , enddate ):计算时间差
datepare值:year | quarter | month | week | day | hour | minute | second | millisecond
startdate:开始日期
enddate :结束日期
GetDate():获取当前的系统日期(类似于mysql中Current_timestamp())
参考:https://blog.csdn.net/Candy_Sir/article/details/85231400

7.WEEKOFYEAR( date):
参数:此方法仅接受一个参数。
date -我们要从中提取周数的日期或日期时间。
返回值:它返回星期数。

8.MONTH(data):同上返回月份函数

9.limit 仅可用于没有重复数值时(eg:37,38题对比)

学习链接:https://blog.csdn.net/wbc199685/article/details/108605284?spm=1001.2014.3001.5501
记录题号:9.11.15,21,27 38 39
 

相关文章:

数据库复习整理

1.group by与where 一,group by 字句也和where条件语句结合在一起使用。当结合在一起时,where在前,group by 在后。 即先对select xx from xx的记录集合用where进行筛选,然后再使用group by 对筛选后的结果进行分组 使用having字句…...

开始MySQL之路——MySQL安装和卸载

MySQL的介绍 MySQL数据库管理系统由瑞典的DataKonsultAB公司研发,该公司被Sun公司收购,现在Sun公司又被Oracle公司收购,因此MySQL目前属于Oracle旗下产品。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权…...

pxe网络装机

PXE是什么? 批量装机系统,网络安装linux操作系统。需要客户端的网卡支持pxe网络启动。 PXE的组件: vsftpd/httpd/nfs 负责提供系统的安装文件 tftp 负责提供系统安装前的引导文件与内核文件 dhcp 负责提供客户端的IP地址分配与pxe引…...

【数据库事务】

数据库事务 何为事务事务的特性原子性 Atomicity一致性 Consistency隔离性 IsolationRead UncommittedRead CommittedRepeatable ReadSerializable 持久性 Durability功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的…...

Apache Tomcat

在Java中,如果您想使用 Apache Tomcat 作为服务器容器,您需要从 Apache Tomcat 官方网站(https://tomcat.apache.org)下载并导入 Tomcat 的相关 JAR 文件。 以下是使用 Tomcat 类创建和配置 Tomcat 服务器的示例代码:…...

python类

python是一种面向对象的变成语言。 python几乎所有的东西都是对象,包括对象和属性。 一.类的定义 python类的定义: class ClassName:pass: 实例: 注意: 类中的函数称为方法,有关于函数的一切适用于方法&…...

SpringBoot + layui 框架实现一周免登陆功能

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

如何使用Unity制作一个国际象棋

LinnoChess1.0 该项目旨在做一些Unity小游戏项目开发来练练手 如果有更新建议请私信RWLinno 项目地址:https://github.com/RWLinno/LinnoChess 目前效果 能够正常下棋;能够编辑棋盘;能够SL棋局;能够记录棋谱;能够显…...

下岗吧,Excel

ChatGPT的诞生使Excel公式变得过时。通过使用 ChatGPT 的代码解释器你可以做到: 分析数据创建图表 这就像用自然语言与电子表格交谈一样。我将向大家展示如何使用 ChatGPT 执行此操作并将结果导出为Excel格式: 作为示例,我将分析并创建美国…...

黑马点评环境搭建导入

一开始配置maven的时候,发现怎么都无法查看maven的版本,后来才知道是JAVA_HOME的问题,开头多了一个空格(因为我是直接复制过去的),然后搜网上通过命令行可以看到肉眼看不到的bug。 通过命令行的方式改正确后…...

交换机端口安全

文章目录 一、802.1X认证1. 定义和起源2. 认证方式本地认证远程集中认证 3. 端口接入控制方式基于端口认证基于MAC地址认证 二、端口隔离技术1. 隔离组2. 隔离原理3. 应用场景 首先可以看下思维导图,以便更好的理解接下来的内容。 一、802.1X认证 1. 定义和起源 8…...

【力扣】63. 不同路径 II <动态规划>

【力扣】63. 不同路径 II 一个机器人位于一个 m m m x n n n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格…...

【Linux】JumpServer 堡垒机远程访问

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpS…...

WebGPT VS WebGPU

推荐:使用 NSDT编辑器 快速搭建3D应用场景 随着WebGPU的引入,Web开发发生了有趣的转变,WebGPU是一种新的API,允许Web应用程序直接访问设备的图形处理单元(GPU)。这种发展意义重大,因为 GPU 擅长…...

【Flutter】Flutter 使用 collection 优化集合操作

【Flutter】Flutter 使用 collection 优化集合操作 文章目录 一、前言二、安装和基本使用三、算法介绍四、如何定义相等性五、Iterable Zip 的使用六、优先队列的实现和应用七、包装器的使用八、完整示例九、总结 一、前言 大家好!我是小雨青年,今天我要…...

【核心复现】基于合作博弈的综合能源系统电-热-气协同优化运行策略(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

【设计模式】Head First 设计模式——抽象工厂模式 C++实现

设计模式最大的作用就是在变化和稳定中间寻找隔离点,然后分离它们,从而管理变化。将变化像小兔子一样关到笼子里,让它在笼子里随便跳,而不至于跳出来把你整个房间给污染掉。 设计思想 提供一个接口,让该接口负责创建一…...

pdf怎么转换成jpg图片?

随着数字文档的广泛应用,将PDF转换为JPG图片格式成为了一个常见的需求。无论是为了在网页上展示内容,还是为了与他人分享图片,以下是一些简单的方法,帮助您将PDF文件快速转换为高质量的JPG图片。 方法一:在线PDF转JPG…...

远程访问Linux的DataEase数据可视化分析,有哪些推荐的工具?

DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。 在本地搭建后,借助cpolar 内…...

每日一题——旋转图像

旋转图像 题目链接 方法一:利用辅助数组 通过对示例的观察和分析,我们可以得到这样的结论: 对于原数组的下标为i行元素,顺时针旋转九十度后,都变成了下标为(n-1-i)列元素。如图所示&#xff…...

基于ARM核心板的工业无线示教器开发全流程解析

1. 项目概述:当工业机器人遇上“掌上大脑”在工业自动化领域,示教器是人与机器人交互的核心枢纽。传统的示教器,往往体积庞大、线缆缠绕、成本高昂,并且高度依赖特定的控制器硬件。作为一名长期混迹于工控和嵌入式开发一线的工程师…...

ElevenLabs奥里亚文语音合规性警告:印度《2023语言技术法案》生效后,这4类商用场景必须重做语音备案

更多请点击: https://intelliparadigm.com 第一章:ElevenLabs奥里亚文语音合规性警告的背景与紧迫性 ElevenLabs 作为领先的文本转语音(TTS)服务提供商,近期在其 API 文档与开发者控制台中新增了针对奥里亚文&#xf…...

维吾尔语AI语音最后一公里难题:ElevenLabs+Kaldi联合方案实现方言变体(伊犁/喀什/和田)动态适配(含开源声学适配器)

更多请点击: https://intelliparadigm.com 第一章:维吾尔语AI语音最后一公里难题的本质剖析 维吾尔语AI语音系统在实验室环境中已能实现较高识别准确率,但落地至真实场景时仍面临显著性能衰减——这一“最后一公里”并非技术迭代的自然延迟&…...

【ElevenLabs语音伦理合规白皮书】:面向银发群体的AI语音生成必须绕开的4类GDPR/《互联网信息服务深度合成管理规定》雷区

更多请点击: https://intelliparadigm.com 第一章:银发群体AI语音服务的伦理合规必要性 随着智能语音助手在居家养老、远程问诊、紧急呼叫等场景中的深度部署,面向60岁以上用户的AI语音服务已从“可选功能”演变为“关键基础设施”。然而&am…...

别再手动改防火墙了!用这条组策略,一键修复AD域强制更新时的RPC报错

自动化运维实战:用组策略统一管理AD域防火墙规则 在混合Windows环境的IT运维中,手动配置每台终端设备的防火墙规则无异于一场噩梦。想象一下,当您面对数百台运行不同Windows版本的计算机时,每次组策略更新都因为防火墙拦截RPC通信…...

如何解决Reloaded-II模组加载器安装过程中的依赖循环问题

如何解决Reloaded-II模组加载器安装过程中的依赖循环问题 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II Reloaded-II作为一款强大的.NET Core模…...

Unity GLTF模型导入终极教程:5分钟掌握GLTFUtility完整指南

Unity GLTF模型导入终极教程:5分钟掌握GLTFUtility完整指南 【免费下载链接】GLTFUtility Simple GLTF importer for Unity 项目地址: https://gitcode.com/gh_mirrors/gl/GLTFUtility GLTFUtility是Unity开发者必备的GLTF模型导入工具,能够让你在…...

NExT-GPT:端到端任意模态大模型架构解析与实战指南

1. 项目概述:当多模态大模型遇见“全感官”交互最近在和朋友聊起多模态大模型时,大家总绕不开一个话题:现有的模型,无论是GPT-4V还是Gemini,虽然能“看”能“说”,但总感觉少了点什么。它们更像是一个单向的…...

让 SACF 自动捕获授权对象,把新授权检查安全带进生产系统

很多 ABAP 老系统里,最敏感的改造不是性能优化,也不是把一个古早 FORM 重构成类方法,而是在已经稳定运行多年的业务代码里补授权检查。原因很直接,少一次授权检查,审计和安全团队会觉得风险很大,多一次授权检查,生产用户可能第二天就打不开业务功能。SACF,也就是 Switc…...

在多模型AI应用开发中利用Taotoken实现成本与性能的平衡

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在多模型AI应用开发中利用Taotoken实现成本与性能的平衡 开发一个复杂的AI应用,往往意味着需要调用多个模型来完成不同…...