Hive表获取字段状态变化记录-Lag函数应用
2017-02-28 09:40
288 查看
场景:日志表中记录了关于某个实体的状态变化所有信息,想单单提取出,按照时间轴顺序,发生了状态变化的数据行;
思路:Lag函数或者Lead函数可以将上一行或者下一行的字段内容获取到本行,这样可以比较字段是否发生变化,进而判断是否状态变化,是否需要提取出该数据行;
实现SQL:
1. 数据行内容
2. 实现想要的效果
思路:Lag函数或者Lead函数可以将上一行或者下一行的字段内容获取到本行,这样可以比较字段是否发生变化,进而判断是否状态变化,是否需要提取出该数据行;
实现SQL:
1. 数据行内容
select house_id, status, create_time from tmp.tmp_test;
2. 实现想要的效果
select t1.house_id, t1.status, t1.create_time from ( select house_id, status, create_time, lag(status,1,-999) over(partition by house_id order by create_time) as status2 from tmp.tmp_test ) t1 where t1.status <> t1.status2;
相关文章推荐
- Delphi:记录类型、过程指针、函数(方法)指针字段的应用
- SQL一对多取子表最新记录的所有字段(ROW_NUMBER()OVER()函数的应用)
- 恰当应用函数实现PHP获取表字段名
- 应用mysql_num_rows()函数获取查询结果集中的记录数
- IIS W3C日志记录字段和HTTP状态代码的说明
- IIS W3C日志记录字段和HTTP状态代码的说明<转>
- WinCE实时获取电源状态变化
- oracle中获取字段值存在重复的记录
- WinCE实时获取电源状态变化
- 黄聪:PHP+MySql获取自动增长字段的新添加记录ID值
- 层次查询和分析函数(LAG、LEAD)在号段选取中的应用
- WinCE实时获取电源状态变化
- 代理服务器设置 && PC上装载旧版本驱动程序 && 查看windows登陆记录 && WIN7上跳过从windows update获取驱动 && 在开始菜单添加应用快捷方式
- qtp 获取弹出提示框(异常框)的文本显示信息(正则表达式和自定义函数应用)
- sql语句新增记录时获取自增字段的方法
- IIS W3C日志记录字段和HTTP状态代码的说明
- WinCE实时获取电源状态变化
- 当某个表中存在标志表格中记录不同状态的判断性字段的时候,采用两种不同的数据库组织形式,查询执行速度的实验。
- WinCE实时获取电源状态变化
- IIS W3C日志记录字段和HTTP状态代码的说明