wonderful-sql
文章平均质量分 59
datawhale社区wonderful-sql学习总结
Stephen6Yang
一起学习,共同进步,大数据领域知识分享
展开
-
使用 Hive SQL 的 LEAST 函数:找到最小值的神器
LEAST 函数是 Hive SQL 提供的一种方便的方法,用于从一组值中找到最小的那个。无论你是在处理学生的成绩、商品的价格,还是其他需要比较的数值,LEAST 函数都能快速帮你找到最小值。希望这篇博文能帮你更好地理解和使用 Hive SQL 的 LEAST 函数,使你的数据处理更加高效、简洁。, valueN 可以是列名、常数或表达式,LEAST 函数将返回这些值中最小的那一个。多列比较: LEAST 函数可用于多列(或表达式)的比较,可以大大简化SQL语句的复杂度。LEAST 函数的语法。原创 2024-07-12 14:48:02 · 1426 阅读 · 0 评论 -
SQL常用时间处理函数总结
当expr1大于expr2时,返回dif1的结果为正数,反之返回dif2的结果为负数.原创 2024-01-08 19:44:48 · 826 阅读 · 1 评论 -
SQL窗口函数大小详解
OVER 子句中的 frame_clause 选项用于指定一个滑动的窗口。窗口总是位于分区范围之内,是分区的一个子集。指定了窗口之后,分析函数不再基于分区进行计算,而是基于窗口内的数据进行计算。第一个窗口使用 ROWS 选项,包含了前后各 1 行以及当前行;第二个窗口使用 RANGE 选项,包含了当前行的数值减去 1(4-1=3)到当前行的数值加上 1(4+1=5)之间的所有数据;其中,ROWS 表示以行为单位计算窗口的偏移量;M FOLLOWING,窗口到当前行之后的第 M 行、范围 M 之内结束;原创 2024-01-03 22:48:52 · 754 阅读 · 0 评论 -
理解SQL中not in 与null值的真实含义
当你判断任意值a!= null时, 官方说, “You cannot use arithmetic comparison operators such as =, <, or <> to test for NULL”, 任何与null值的对比都将返回null. 因此返回结果为否,这点可以用代码 select if(1 = null, ‘true’, ‘false’)证实.A not in B的原理是拿A表值与B表值做是否不等的比较, 也就是a!= b. 在sql中, null是缺失未知值而不是空值。原创 2024-01-01 21:20:16 · 871 阅读 · 1 评论 -
MySQL-DATE_FORMAT()函数
在 SQL 中,DATE_FORMAT() 函数是用于将日期时间值格式化为指定格式的函数。它允许你根据自己的需求将日期时间值转换成各种不同的字符串表示形式。原创 2023-12-08 14:08:56 · 1756 阅读 · 0 评论 -
SQL-求解连续数问题
求解连续值的问题可以用常规的自连接方法比较当前行与下一行的值,自连接条件一般是id列,如果id列没有可以使用排序函数row_number、dense_rank等进行人为构造。原创 2023-12-06 11:01:14 · 1220 阅读 · 0 评论 -
SQL-分页查询offset的用法
今天在做一道关于查询一张表中第二高工资的问题时发现没有思路,经过一番搜索发现需要用到offset偏移量来解决这个问题。OFFSET关键字用于指定从结果集的哪一行开始返回数据。通常,它与LIMIT一起使用,以实现分页效果。原创 2023-12-01 16:07:17 · 2082 阅读 · 0 评论 -
SQL计算两个日期之间的差值
该函数返回两个日期/时间之间的差值,可以指定差值的单位(秒、分钟、小时、天等)。unit:表示差值的单位,可以是以下值之一:MICROSECOND(微秒)、SECOND(秒)、MINUTE(分)、HOUR(小时)、DAY(天)、WEEK(周)、MONTH(月)、QUARTER(季度)或。今天在做下面这道SQL题目的时候想直接使用end_time-start_time得到相差的秒数,发现这样直接相减得到的数值是不对的,因此在找解决方案时用到了TIMESTAMPDIFF函数。原创 2023-11-23 17:15:52 · 4744 阅读 · 0 评论 -
MySql查看SQL语句执行计划
MySQL 在执行的 sql 语句之前加上 EXPLAIN 就可以看到其执行计划了。原创 2023-11-10 10:56:59 · 116 阅读 · 0 评论 -
SQL--行转列and列转行
行转列中由于原表只有两个字段,分别为name和subject,因此在select语句中也只能用这两个字段。使用SUM函数和CASE语句来完成行转列的功能,CASE用来判断subject是否等于要转成列的那个字段(也就是科目,比如语文or数学or英语),当条件为True时取出此时字段对应的科目成绩(score),反之赋值为null,最后对取到的值进行求和,求和时拿到的数据应该为(某一科目的成绩,null,null…),因此求和后的成绩就是原先科目的成绩,最后将其取个别名为该科目的名字。其他科目以此类推。原创 2023-11-09 14:03:09 · 164 阅读 · 0 评论 -
SQL练习题-各部门工资最高的员工
1.我们使用窗口函数rank(),它可以根据指定的分区(partition by)和排序(order by)条件对结果集进行排名。2.使用子查询(subquery),将Employee和Department两个表连接(LEFT JOIN),并将结果命名为t。例如,根据上述给定的表格,Max 在 IT 部门有最高工资,Henry 在 Sales 部门有最高工资。rank() over:对指定条件排名,条件相同排名相同,排名间断不连续即1,1,3,4,5,5,7。原创 2023-10-30 17:19:59 · 525 阅读 · 0 评论 -
SQL高级处理
IN 是入参。每个参数默认都是一个 IN 参数。如需设定一个参数为其他类型参数,请在参数名称前使用关键字 OUT 或 INOUT。一个IN参数将一个值传递给一个过程。存储过程可能会修改这个值,但是当存储过程返回时,调用者不会看到这个修改。OUT 是出参。一个 OUT 参数将一个值从过程中传回给调用者。它的初始值在过程中是 NULL ,当过程返回时,调用者可以看到它的值。INOUT :一个 INOUT 参数由调用者初始化,可以被存储过程修改,当存储过程返回时,调用者可以看到存储过程的任何改变。原创 2023-10-24 15:12:01 · 59 阅读 · 0 评论 -
SQL-基础查询与排序
NULL的真值结果既不为真,也不为假,因为并不知道这样一个值。这时真值是除真假之外的第三种值——不确定(UNKNOWN)。一般的逻辑运算并不存在这第三种值。SQL 之外的语言也基本上只使用真和假这两种真值。与通常的逻辑运算被称为二值逻辑相对,只有 SQL 中的逻辑运算被称为三值逻辑。原创 2023-10-11 09:39:14 · 135 阅读 · 0 评论
分享