GROUP BY 1,2 2、case when为什么加max 分组函数一定和聚合函数一同存在 select event, max(case when event_01='a' then event_value end) from eventtext Mysql case when 实现行转列时为什么要用max()或者其他聚合函数 3、union和union all的区别 union: 对两个结果集进行并集操作, 不包括重复行,相当于...
简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。 还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。 --比如说,下面这段SQL,你永远无法得到“第二类”这个结果 CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类' WHEN col...
当为聚合函数,如max,min,count等时,over中的order by不仅起到窗⼝内排序,还起到窗⼝内从当前⾏到之前所有⾏的聚合(多了⼀个范围)。 如: --sql① selectid,dept,salary,min(salary)over(partitionbydept)min_salfromdept; --sql② selectid,dept,salary,min(salary)over(partitionbydeptorderbyid)m...
2.使用case when实现 (case 单元格值 when 旧列) as 新列 select a, max(case when b="A" then c end) col_A, max(case when b="B" then c end) col_B from t1 group by a; 1. 2. 3. 4. 5. 6.
记录一些工作中有意思的统计指标,做过一些简化方便大家阅读,记录如有错误,欢迎在评论区提问讨论~ 问题类型 连续问题 两种思路 第一种:日期减去一列数字得出日期相同,主要是通过row_number窗口函数 第二种:后一个日期减去前一个日期差值相等,用的较少,可以用lag/lead
HIVE SQL (1) HIVE SQL基础语法 HIVE学习(一) 一、基础语法 1. select from where # 选择城市在北京,性别为女的10个用户名SELECTuser_nameFROMuser_infoWHEREcity='beijing'andsex='female'limit10 分区表必须对分区字段进行限制 -- 选出在2019年4月9日,购买商品品类为food的用户名、购买数量,支付金额SELECT...
SQL系列(一)快速掌握Hive查询的重难点 作为一名数(取)据(数)分(工)析(具)师(人),不得不夸一下SQL,毕竟凭一己之力养活了80%的数据分析师,甚至更多。SQL语言短小精悍,简单易学,而且分析师重点只关注查询,使得学习成本和时间成本瞬间就下来了。 企业日常涉及的SQL很多,常见的如MySQL、Hive、Presto、ES(ElasticSe...
在Hive SQL中,where子句中的case when语句可以有多种简便写法。以下是一些常用的写法: 1简单情况:如果只有一个when子句,可以直接写出来,例如: SELECT FROM table_name WHERE column_name = 'value'; 2多个when子句:如果有多个when子件,可以使用ELSE子句,例如: SELECT column_name FROM table_name WHERE column_...
reflect函数可以支持在sql中调用java中的自带函数,秒杀一切udf函数。 需求1: 使用java.lang.Math当中的Max求两列中最大值 实现步骤: 创建hive表 需求2: 文件中不同的记录来执行不同的java的内置函数 实现步骤: 创建hive表 需求3: 判断是否为数字 实现方式: ...
1、根据指定条件返回结果:case when then else end as 图1 2、基本类型转换:CAST() 3、nvl:处理空字段:三个str时,是否为空可以指定返回不同的值 4、sql通配符:https://www.w3school.com.cn/sql/sql_wildcards.asp 5、count(1)与COUNT(*):返回行数 ...