
SQL题练习
文章平均质量分 81
SQL题练习
Data 317
大数据领域优质创作者
展开
-
经典sql题(十四)炸裂函数的恢复
CONCAT: 直接将字符串连接,不支持分隔符。CONCAT_WS: 允许指定分隔符,使合并结果更具可读性。原创 2024-09-25 23:24:45 · 11708 阅读 · 0 评论 -
经典sql题(十三)炸裂对应学生的姓名和成绩
行数: 两者在行数上是相同的(即每个数组元素生成一行)。输出内容explode只返回元素,而posexplode返回元素及其对应的索引。原创 2024-09-25 16:52:14 · 12002 阅读 · 0 评论 -
经典sql题(十二)UDTF之Explode炸裂函数
函数 是Hive 中的一种用户定义的表函数(UDTF),用于将数组或映射结构中的复杂的数据结构每个元素拆分为单独的行。,可以帮助我们更高效地进行数据清洗、转换和分析,为决策提供有力支持,掌握这些函数和技术,将极大地提高我们在数据分析中的灵活性和效率。允许我们将 UDTF 的输出与原始表中每一行的数据连接在一起,这样就可以在查询中灵活地处理嵌套数据。Hive 提供了一种强大的方式来处理和分析复杂的嵌套数据结构,在实际应用中,合理地结合使用。我们希望将评论中的每个单词拆分出来。列中的数组拆分为多行。原创 2024-09-24 23:55:13 · 11797 阅读 · 0 评论 -
经典sql题(十一)查找共同好友或相互关注 二
在处理海量数据时,使用 JOIN 可能会导致性能瓶颈,特别是当参与 JOIN 的表非常大时,JOIN 操作通常需要扫描多个表,并且在连接条件上进行复杂的匹配,这会消耗大量的计算资源和时间。相反,使用聚合或过滤的方法可以减少数据处理的复杂性,从而提高性能。以下是使用不依赖于 JOIN 的方法找出互相关注用户对的方法。原创 2024-09-24 22:39:09 · 11295 阅读 · 0 评论 -
经典sql题(十)查找共同好友或相互关注 一
这题我们使用的是 LEFT JOIN,也称为左外连接。它用于从左侧表(tl)中返回所有行,并且在右侧表(t2)中查找匹配的行。如果没有匹配,右侧表的结果将为 NULL。INNER JOIN vs LEFT JOIN:INNER JOIN 仅返回两个表中匹配的行,而 LEFT JOIN 保留左侧表的所有行。在使用 LEFT JOIN 时,如果在右侧没有找到匹配的行,结果将返回 NULL。在这种情况下,通常需要通过条件判断来处理这些 NULL 值,比如通过 IF 或 CASE 来判断双向关系是否存在。原创 2024-09-23 23:48:57 · 11623 阅读 · 0 评论 -
经典sql题(九)SQL 查询详细指南总结二
这些步骤展示了 SQL 查询如何逐步处理数据,应用过滤、分组、排序和限制操作,最后返回所需结果。为了演示这条 SQL 查询的执行,可以先定义数据库表架构并插入一些示例数据。结果与 ORDER BY 相同,因为只有 3 行。在这个例子中已经处理。原创 2024-09-17 17:56:41 · 12079 阅读 · 0 评论 -
经典sql题(八)SQL 查询详细指南总结一
SQL(Structured Query Language)是一种用于管理和操作关系数据库的标准语言。本文将详细介绍 SQL 中的一些常见操作及其用法,包括 DISTINCT 去重、LIMIT 限制、排序、开窗函数、NULL 值替换、JOIN 与 UNION 等。经常使用,以确保主要表(左表)的所有行都被保留,即使右表中没有匹配的记录。:从多个表中获取相关数据,通过匹配条件合并表。当从数据库中查询数据时,可能会遇到重复的行。:合并多个查询的结果,将结果集垂直叠加。关键字用于去除结果中的重复行。原创 2024-09-17 17:53:06 · 12327 阅读 · 0 评论 -
经典sql题(七)查找直播间最大在线人数
本文将详细介绍如何使用 SQL 的窗口函数和聚合函数,分析用户在房间中的状态变化,目标是计算每个房间指定时间段内的最大用户状态。原创 2024-09-16 22:45:34 · 12096 阅读 · 0 评论 -
经典sql题(六)查找用户每月累积访问次数
使用聚合开窗查找用户每月累积访问次数,首先介绍一下使用GROUP BY和开窗的区别。原创 2024-09-16 11:15:59 · 12770 阅读 · 0 评论 -
经典sql题(五)查找各部门工资前三的员工
上一章讲解了如何使用四个不同的窗口函数:RANK(), DENSE_RANK(), ROW_NUMBER(), 和 PERCENT_RANK() 求成绩前三的学生,本文将展示不使用窗口函数的情况下通过 SQL 查询来查找每个部门中工资排名前三的员工。原创 2024-09-15 23:16:21 · 12153 阅读 · 0 评论 -
经典sql题(四)查找学生成绩排名第二的学科
本文将通过一个示例,展示如何使用 SQL 中的窗口函数来找出每个学生的第二高分数及其对应的学科。我们首先需要为每个学生的分数生成一个排名,以便后续筛选。我们将为每个学生的分数生成排名,并使用四个不同的窗口函数。, 和 `PERCENT_RANK()。原创 2024-09-15 17:20:43 · 12100 阅读 · 0 评论 -
经典sql题(三)查找股票价格波峰波谷
了解价格的波动情况对市场决策至关重要,本文通过 SQL 查询,演示如何从一个价格数据表中提取价格波动信息,识别出波峰和波谷。我们假设有一个名为test的表,包含每个时间点的价格数据。原创 2024-09-15 14:16:55 · 11977 阅读 · 0 评论 -
经典sql题(二)求连续登录最多天数用户
求连续登录最多天数用户,统计每个用户的最大连续登录天数原创 2024-09-14 19:08:57 · 12313 阅读 · 0 评论 -
经典sql题(一)求连续登录不少于三天用户
去重提取日期查询:提取每个用户的唯一登录日期。结果表table1:显示每个用户的唯一日期。为每个用户生成序列号查询:为每个用户的日期生成序号,并计算date2。结果表table2:显示用户的日期和对应的date2。步骤使用函数,按照日期顺序为每个用户的登录日期分配一个序号。例如,对于用户 ID = 1,假设他们的日期是2023-10-012023-10-02和2023-10-03将为它们生成序号 1、2 和 3。date2是通过将每个日期减去它的序号得到的。这个操作的目的是为了检测连续的日期。原创 2024-09-14 18:42:05 · 12694 阅读 · 0 评论