首页 > 其他分享 >leetcode集训-2023年7月

leetcode集训-2023年7月

时间:2023-07-31 20:31:58浏览次数:36  
标签:GROUP 数据库 leetcode HAVING 2023 分组 子句 聚合 集训

今天我想和大家分享一下我参与LeetcodeSQL题集训一个月来的心得体会。在这段时间里,我真的深入感受到SQL语句和数据库API的魅力,也体验到了数据库世界的各种趣味与挑战。

  1. SQL语句的执行顺序主要包含以下几个步骤:
  • FROM:指定要查询的表或视图。
  • WHERE:对FROM子句中的表进行条件过滤,只选择满足条件的记录。
  • GROUP BY:根据指定的列对查询结果进行分组,形成不同的组。
  • HAVING:对GROUP BY子句分组后的结果进行条件过滤,只保留满足条件的组。
  • SELECT:选择要显示的列,可以包含聚合函数用于计算每个组的汇总值。
  • ORDER BY:对结果进行排序。
  • LIMIT/OFFSET:限制结果集的行数,有些数据库中用LIMIT,有些数据库用OFFSET,也有些数据库支持两者同时使用。
  1. GROUP BY与HAVING的区别:
  • GROUP BY:GROUP BY子句用于对查询结果进行分组。在GROUP BY子句中,我们指定一个或多个列,并根据这些列将结果集分成多个组。对于每个组,数据库将计算聚合函数的值(例如SUM、COUNT、AVG等)。
  • HAVING:HAVING子句用于在GROUP BY之后对分组结果进行过滤。它允许我们筛选出满足特定条件的组。HAVING子句通常用于在聚合结果上应用条件,而WHERE子句用于在未分组的数据上应用条件。

在使用GROUP BY时,通常我们需要同时使用聚合函数来计算每个组的聚合值。而HAVING则是用于过滤分组后的结果,根据聚合值来筛选出满足条件的组。

假设我们有一个"Orders"表,包含字段"OrderDate"(订单日期)和"TotalAmount"(订单总金额)。我们想要找出每天订单总金额超过1000的日期。那么我们可以这样写SQL语句:

SELECT OrderDate, SUM(TotalAmount) as Total
FROM Orders
GROUP BY OrderDate
HAVING SUM(TotalAmount) > 1000;

在这个例子中,首先我们使用GROUP BY将订单按照日期分组,然后使用SUM函数计算每个日期的订单总金额。最后,我们使用HAVING来过滤掉总金额小于等于1000的日期组,只保留满足条件的日期组。

标签:GROUP,数据库,leetcode,HAVING,2023,分组,子句,聚合,集训
From: https://blog.51cto.com/u_15920110/6912629

相关文章

  • [NOI2023] 字符串
    对于给出的串\(S\),将其拓展成\(S+\)特殊字符\(+rev(S)\),求出其后缀数组。那么对于一个子串\([l,r]\),合法的必要条件是\(l\)的后缀在后缀数组的排名小于\(r\)的前缀的排名。之所以是必要条件,是因为会记入一些\([l,r]\)是回文串且\(l\)的排名小的情况。具体而言,这......
  • Apache RocketMQ 远程代码执行漏洞(CVE-2023-37582)
    ​漏洞简介ApacheRocketMQ是一款低延迟、高并发、高可用、高可靠的分布式消息中间件。CVE-2023-37582中,由于对CVE-2023-33246修复不完善,导致在ApacheRocketMQNameServer存在未授权访问的情况下,攻击者可构造恶意请求以RocketMQ运行的系统用户身份执行命令。影响版本Apac......
  • 2023-07-31 在uniapp使用canvas绘制一个圆角为50%的图片【代码来自chatGpt,稍作修改】
    <template><view><canvasid="myCanvas":style="{width:'200px',height:'200px'}"></canvas></view></template><script>exportdefault{onReady(){this.......
  • 剑指offer_20230731
    剑指Offer07.重建二叉树题目说明输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。解题思路可以通过前序遍历的数组获取每个子树的根节点,并在中序遍历的数组中找到根节点对应的位置,然后就可......
  • P9482 [NOI2023] 字符串
    P9482[NOI2023]字符串限制长的很像回文串,但是是字典序关系。定睛一看比较的是原串\(s\)的一个后缀的前缀和翻转串\(s'\)的一个后缀的前缀比字典序。直接把\(s'\)拼到\(s\)后面,中间加个分隔符,来一次后缀排序。排名小的后缀字典序比排名大的后缀小。设当前比较的是......
  • LeetCode/课程表IV
    你总共需要上numCourses门课,课程编号依次为0到numCourses-1。你会得到一个数组prerequisite,其中prerequisites[i]=[ai,bi]表示如果你想选bi课程,你必须先选ai课程。有的课会有直接的先修课程,比如如果想上课程1,你必须先上课程0,那么会以[0,1]数对的形式给......
  • 祝贺!openGauss社区技术委员会主席李国良当选2023 IEEE FELLOW
    祝贺!openGauss社区技术委员会主席李国良当选2023IEEEFELLOW[openGauss](javascript:void(0);)2022-11-2917:56发表于广东近日,IEEE(InstituteofElectricalandElectronicEngineers)公布了2023年度Fellow名单,全球共有319位学者入选,华人学者占104位(约占总人数的31%)。其中,openGa......
  • corctf2023
    fizzbuzz100题目代码:#!/usr/local/bin/pythonfromCrypto.Util.numberimport*fromosimporturandomflag=open("flag.txt","rb").read()flag=bytes_to_long(urandom(16)+flag+urandom(16))p=getPrime(512)q=getPrime(512)n=p......
  • 2023/07/31
    中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足......
  • 2023年7月31日 ‘天气:晴
       今天早上起来背了20个英语单词,然后学习了一个小时的Java编程,接下来就看了一会构建之法。最后就是写了一会pta上的作业。明天打算6点起床然后晨跑半小时,然后编程一小时。再就是出去打会羽毛球。再就是看会英语阅读。......