首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

sql语句面试经典50题_sql基础知识面试题

这类问题其实就是常见的:分组取每组最大值、最小值,每组最大的N条(top N)记录。...by)和汇总函数得到每个组里的一个值(最大值,最小值,平均值等)。...as b where b.课程号 = a.课程号); 每组最大的N条记录 案例:查询各科成绩前两名的记录 第1步,查出有哪些组 我们可以按课程号分组,查询出有哪些组,对应这个问题里就是有哪些课程号...如果想要达到每组最小的N个记录,将order by子句按某个列升序排序(asc)即可。 求topN的问题还可以使用自定义变量来实现,这个在后续再介绍。...总结 常见面试题:分组取每组最大值、最小值,每组最大的N条(top N)记录。

2.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    平平无奇SQL面试题:经典50例

    这类问题其实就是常见的:分组取每组最大值、最小值,每组最大的N条(top N)记录。...分组取每组最大值 案例:按课程号分组取成绩最大值所在行的数据 我们可以使用分组(group by)和汇总函数得到每个组里的一个值(最大值,最小值,平均值等)。但是无法得到成绩最大值所在行的数据。...上面查询结果课程号“0001”有2行数据,是因为最大成绩80有2个 分组取每组最小值 案例:按课程号分组取成绩最小值所在行的数据 同样的使用关联子查询来实现 select * from score as...每组最大的N条记录 案例:查询各科成绩前两名的记录 第1步,查出有哪些组 我们可以按课程号分组,查询出有哪些组,对应这个问题里就是有哪些课程号 select 课程号,max(成绩) as 最大成绩 from...前面我们使用order by子句按某个列降序排序(desc)得到的是每组最大的N个记录。如果想要达到每组最小的N个记录,将order by子句按某个列升序排序(asc)即可。

    2.6K60

    常见的SQL面试题:经典50例

    [要求输出课程号和选修人数] from 从哪张表中查找数据 [] where 查询条件 [] group by 分组 [每门课程:按课程号分组] having 对分组结果指定条件 [学生选修人数(超过2...这类问题其实就是常见的:分组取每组最大值、最小值,每组最大的N条(top N)记录。...by)和汇总函数得到每个组里的一个值(最大值,最小值,平均值等)。...as b where b.课程号 = a.课程号); 每组最大的N条记录 案例:查询各科成绩前两名的记录 第1步,查出有哪些组 我们可以按课程号分组,查询出有哪些组,对应这个问题里就是有哪些课程号...总结 常见面试题:分组取每组最大值、最小值,每组最大的N条(top N)记录。

    7K42

    面试 SQL整理 常见的SQL面试题:经典50题

    这类问题其实就是常见的:分组取每组最大值、最小值,每组最大的N条(top N)记录。...by)和汇总函数得到每个组里的一个值(最大值,最小值,平均值等)。...as b where b.课程号 = a.课程号); 每组最大的N条记录 案例:查询各科成绩前两名的记录 第1步,查出有哪些组 我们可以按课程号分组,查询出有哪些组,对应这个问题里就是有哪些课程号...如果想要达到每组最小的N个记录,将order by子句按某个列升序排序(asc)即可。 求topN的问题还可以使用自定义变量来实现,这个在后续再介绍。...总结 常见面试题:分组取每组最大值、最小值,每组最大的N条(top N)记录。

    2.4K10

    面试中经常被问到的 50 个 SQL 题,必须拿下!

    [要求输出课程号和选修人数] from 从哪张表中查找数据 [] where 查询条件 [] group by 分组 [每门课程:按课程号分组] having 对分组结果指定条件 [学生选修人数(超过2...这类问题其实就是常见的:分组取每组最大值、最小值,每组最大的N条(top N)记录。...by)和汇总函数得到每个组里的一个值(最大值,最小值,平均值等)。...as b where b.课程号 = a.课程号); 每组最大的N条记录 案例:查询各科成绩前两名的记录 第1步,查出有哪些组 我们可以按课程号分组,查询出有哪些组,对应这个问题里就是有哪些课程号...总结 常见面试题:分组取每组最大值、最小值,每组最大的N条(top N)记录。

    3.2K30

    Pandas三百题

    .bfill() 重复值处理 18-查找重复值 df[df.duplicated()] 19-查找重复值|指定 查找 片名 列全部重复值 df[df['片名'].duplicated()] 20-删除重复值...df['总分'].mean() 8-统计信息|中位数 df['总分'].median() 9-统计信息|众数 df['总分'].mode() 10-统计信息|部分 计算总分,高端人才得分,办学层次得分的最大最小值...,薪水的最小值、最大值和平均值 df.groupby('district')['salary'].describe()[['min','max','mean']] df.groupby('district...- join|按索引(多个) 重新产生数据并按下图所示进行连接(根据 key1 和 key2) left.join(right,on=['key1','key2']) 8-金融数据与时间处理 8...df1.info() 12 - 时间类型转换 将 df1 和 df2 的 日期 列转换为 pandas 支持的时间格式 df1['日期'] = pd.to_datetime(df1['日期']) df2

    4.8K22

    在mysql中使用group by和order by取每个分组中日期最大一行数据,亲测有效

    在mysql中使用group by进行分组后取某一列的最大值,我们可以直接使用MAX()函数来实现,但是如果我们要取最大值对应的ID,那么我们需要取得整行的数据。...create_time from monitor_company_event t GROUP BY t.company_name,t.row_key,t.event_subType 执行以上SQL语句确实可以得到每个分组中最大的...create_time,但是经检查发现最大的create_time对应event_id不是同一行的数据,如果我们要对event_id进行操作的话,结果肯定是错误的。...create_time` desc limit 10000000000) t GROUP BY t.company_name,t.row_key,t.event_subType 从以上SQL中可以看出,我们先对所有的数据按create_time...时间降序排列,然后再分组,那么每个分组中排在最上面的记录就是时间最大的记录,对执行结果检查后,确实可以实现我们的需求。

    9.6K30

    MySQL之数据库基本查询语句

    au_id having count(*)>5; with rollup实现在分组统计数据基础上再进行统计 #将Article按author进行分组,再统计每个人的总文章数 select author...qq群连接起来,并按类型排序(a-z) select concat(type,'(',qq_group,')')from Article order by type; 使用列别名 select concat...,忽略NULL值 #统计文章数 select count(articles) from Article; #MAX()函数返回某列的最大值 #查询阅读量最多的文章类型 select max(fans)...as '受众最大值' from Article; #MIN()函数返回某列的最小值 select min(fans) as '受众最小值' from Article; #SUM()函数返回某列值之和...GROUP BY:分组说明 HAVING:组级过滤 ... ORDER BY:输出时排序 ... LIMIT:要检索的行数 ... 附:Author表 ? Article表 ?

    4.8K40

    mysql基本命令

    (null 不计) -- sum: 求和 -- max: 最大值 -- min: 最小值 -- avg: 平均值 -- ===count,求和,对指定列的[数据个数]求和 count(列名).就是看该列有多少条数据...表名; -- 注意:列的类型:汉字不能求和;若有汉字,按0计算,对不是数据类型的数据,计0运算. -- 可以与条件查询结合↓ (查询列2中所有包含'张三'的字段,并求出其中所有列1的值的和). select...sum(列1) from 表名 where 列2 like '%张三%'; -- ===max/min,最大值/最小值 select max(列名) from 表名;(获取到该列最大值) -- =...-- $分组查询(关键字:group by) -- 跟随聚合函数使用:group by(被分组的列名); -- select查询时,被分组的列要出现在select选择列后面; -- ↓按照列2的相同内容对列...2中的'张三'内容对列1进行求和并按降序显示且只显示 sum(列1) 的值大于18的内容; -- $分组查询:(关键词:limit x,y) -- x:表示从第几行开始显示(不包括x行,x为0时,可省略不写

    1.5K20

    ActiveReports 报表应用教程 (7)---交叉报表及数据透视图实现方案

    在矩阵控件中组的行数和列数由每个行分组和列分组中的唯一值的个数确定。同时,您可以按行组和列组中的多个字段或表达式对数据进行分组。...在运行时,当组合报表数据和数据区域时,随着为列组添加列和为行组添加行,矩阵将在页面上水平和垂直增长。...我们这里将要演示的是产品销售数据分析表,列分组按照产品类别和产品名称进行分组;行分组按照年和月进行分组,并对销量大于2000的数据进行高亮显示,以下是详细实现步骤: 1、创建报表文件 在应用程序中创建一个名为...[订购月] 表达式:=[订购月] 列分组-常规-添加分组: 名称:Matrix1_类别名称 分组:=[类别名称] 表达式:=[类别名称...] 列分组-常规-添加分组: 名称:Matrix1_产品名称 分组:=[产品名称] 表达式:=[产品名称] 完成以上设置之后回到报表设计界面,选中数据单元格

    1.8K50

    『数据分析』pandas计算连续行为天数的几种思路

    以下解法来自小明哥和才哥 2.1. 思路1:按时间排序求差值再分组计数 才哥上次的解法就是这种思路,回看当初的代码显得比较稚嫩,今天我们看看小明哥的解法,非常精彩。...图5:辅助列 步骤3:分组计数获得连续天数,分组求最小最大值获得连续 污染起止日期 t.groupby(groupids).agg({ 'time': lambda x:f'{x.min()}~...{x.max()}', # 求起止日期 '空气质量':"count", # 求连续天数 }).nlargest(5,'空气质量') # 取 空气质量 字段最大的前5组数据 ?...图8:思路2的解法1结果 解法2:利用shift和cumsum创建辅助列 先创建空气质量的shift列,下移动一位 如果shift列和空气质量列相等,则判断列为0,否则为1 辅助列为判断列累加求和 ?...图9:辅助列创建思路预览 我们也可以发现,按照辅助列分组计数即可获取空气质量连续天数(优良和污染均可),如上红色区域。

    7.7K11

    表格控件:计算引擎、报表、集算表

    列类型如下: 列类型 数据类型 描述 数值 数值 用于大多数具有指定格式的数值 文本 文本 用于常见文本 公式 取决于结果 根据记录中的其他字段计算值 查找 取决于相关字段 查找相关记录中的特定字段 日期...大纲分组 在新版本中,SpreadJS 集算表现在支持大纲分组,可以在 groupBy 方法中定义多个字段来创建大纲组。这种多重分组允许用户展开或折叠字段并包括聚合、页眉和页脚。...分组还支持在分组和基础列之间进行排序。...它经过改进,增强了可用性、灵活性和清晰度: 项目 旧行为 新行为 默认字段源名称 默认字段源名称直接从间隔(如年/月/季度)中派生。例如,按年份分组会生成名为“年份”的字段。...默认字段源名称结合了原始字段名和间隔。例如,如果原始字段是“battleDate”,并按年份分组,生成的字段将命名为“年份(battleDate)”。

    13710

    2-SQL语言中的函数

    分组函数(也叫统计函数,聚合函数,组函数),做统计使用 */ # 单行函数又分为:字符函数,数学函数,日期函数,其他函数,流程控制函数 # 字符函数 # LENGTH(str)函数返回字节长度,...分类: sum 求和,avg 平均值,max 最大值,min 最小值 特点: sum,avg可以处理数值型数据,max,min,count可以处理任何类型数据 以上几个分组函数都会自动忽略null值...可以和distinct搭配使用 # 分组函数 /* 分类:sum 求和,avg 平均值,max 最大值,min 最小值 特点: 1. sum,avg可以处理数值型数据,max,min,count可以处理任何类型数据...语法: SELECT 分组函数,列(要求出现在group_by后面) FROM 表 【WHERE 筛选条件】 GROUP BY 分组列表 【ORDER BY 子句】 注意: 查询列表比较特殊,要求是分组函数和...分组后的筛选:分组后的筛选是利用已经重新分配的组内的信息进行筛选,这些信息不直接存储于数据库中。

    2.8K10

    MySQL数据库完整知识点梳理----保姆级教程!!!

    ---忽略null值 1.sum求和函数 2.avg求平均值函数 3.max求最大值函数 4.min求最小值函数 5.count计算个数函数的详细介绍 6.混和使用 7.分组函数都可以和distinct...分组前筛选 分组后筛选 注意 按表达式,函数和别名分组---只有mysql支持 按照多个字段分组,多个字段间用逗号隔开 添加排序---放在分组排序最后 分组查询时,除了聚合查询和分组的字段可以查询之外...,其他的字段是不能查询的,查了报错 虽然不能单独查询非分组字段,但是可以把聚合函数查询用在非分组字段上 分组查询一般是和聚合查询结合使用,针对每个分组去做聚合(最大值,最小值,计数) 连接查询---多表查询...,肯定是放在having子句中 能用分组前筛选的,优先使用分组前筛选 ---- 按表达式,函数和别名分组—只有mysql支持 按学生的姓名的长度进行分组,选出组中同学个数大于两个人的组 SELECT...(mysql) mysql最高成绩 FROM `class` GROUP BY classses; 分组查询一般是和聚合查询结合使用,针对每个分组去做聚合(最大值,最小值,计数) ---- 连接查询

    6K10

    GREEDY ALGORITHMS

    贪心算法的基本思想如下: 首先定义问题的优化目标,明确要求找到最大值或最小值。 从问题的所有可选解中,选择一个局部最优解,作为当前的选择。 接着,检查该局部最优解是否满足问题的约束条件和要求。...,安排作业的执行顺序,以最小化最大延迟(maximum lateness)。...总之,最小化延迟问题是一个重要的调度问题,需要通过适当的算法来安排作业的执行顺序,以最小化整体延迟,从而提高任务执行的效率和及时性。...现在,考虑 S 有一个逆序对 i-j,其中 i 被调度在 j 之前,但根据最早截止日期优先的顺序,i 应该在 j 之后被调度。 通过交换任务 i 和 j,最大延迟不会增加。...因此,最早截止日期优先调度 S 是最优的,没有其他调度能够具有更少的逆序对并实现更小的最大延迟。

    36420

    快速入门Tableau系列 | Chapter08【数据分层、数据分组、数据集】

    ②利润->行,订单日期->列,选择整个视图,点击年(订单日期)可上/下钻 ? 这样的一个分层结构对于维度之间的重新组合有非常重要的作用。上钻(+)和下钻(-)是导航分层结构最有效的方法。...26.1 数据组创建及使用 步骤: ①创建:人工服务接听量->列,班->行,交换行和列 ?...创建分组也有两种方式: ①右键点击组->创建->组 ②直接在图形中点击右键->组 ②创建分组:右键组->编辑组->自定义拖放,遇到几个需同时进行的按Ctrl,查找可以精准匹配 ?...③重新作图:人工服务接听量->列,班(组)->行,交换行和列,列->包含其他去掉,降序排列 ?...②分组:工作表->点击▶->套索选择->选择需要合并到一组的成员 ? ③分组重命名:点击省市(组)->编辑组,中国地理区域->颜色,当期值->大小 ? ?

    1.8K20

    【Java 进阶篇】深入理解 SQL 聚合函数

    在 SQL 数据库中,聚合函数是一组强大的工具,用于处理和分析数据。它们可以帮助您对数据进行统计、计算总和、平均值、最大值、最小值等操作。...SQL 聚合函数是一组用于在数据库表的列上执行计算的函数。它们通常用于执行统计操作,例如计算总行数、总和、平均值、最大值或最小值。...聚合函数通常与 GROUP BY 子句结合使用,以根据一个或多个列对数据进行分组,并在每个分组上执行聚合计算。 2....MAX() MAX() 函数用于查找某列中的最大值。它通常用于查找数值型列的最大值,也可用于日期或文本列。...MIN() MIN() 函数用于查找某列中的最小值。它通常用于查找数值型列的最小值,也可用于日期或文本列。

    57540

    用SQL语句进行数据库查询(简单查询)

    (sname)(查询表中的部分属性) select Sno,sname--表示需要查找的属性 from Student--属性所属表格 3.用中文显示需要查询的属性....,班号相同则按学号排列. select *from Student order by Classno,Sno--表示按班号排列,班号相同则按学号排列 (2)查询全体学生的姓名及年龄,并按学生的年龄降序排列...运行结果: 使用Group子句进行查询 group如字面意思一样,表示分组,group by表示按某规则分组.将一个数据集分为若干个小区域....补充知识: having 作用类似于where,差别是 where:删选符合条件的行, having:删选符合条件的组....欢迎小伙伴们私信提意见和提问哦! 最后,小伙伴们的点赞就是给牛牛最大的支持,能不能给牛牛来一个一键三连呢?谢谢支持。

    2.7K20
    领券