hive实例讲解实现in和not in子句
来源:互联网 发布:组态软件是什么 编辑:程序博客网 时间:2024/06/05 14:51
目前hive不支持 in或not in 中包含查询子句的语法,所以只能通过left join实现。
假设有一个会员表tb_member(当天会员记录,只有一个memberid),和一个会员消费表tb_sales
(当天会员消费,字段有一个memberid),这两个表都包含一个字段,memberid。
in查询
如果要查询当天会员的会员消费,需要用in查询,hive sql如下:
select memberid.memberid from memberid left outer jointb_sales on memberid.memberid=tb_sales.memberid where tb_sales.memberid is not null
如果memberid表和tb_sales表按天分区,字段是dt,那么查询2013年1月1号当天会员的会员消费,hive sql如下:
select memberid.memberid from memberid day_memberid left outer join
(select memberid from tb_sales where dt='20130101') day_tb_sales
on day_memberid.memberid=day_tb_sales.memberid where day_memberid.dt='20130101' and day_tb_sales.memberid is not null
not in查询
如果要查询当天会员的以前会员消费(这里假设非当天会员消费就是老用户),需要用not in查询,hive sql如下:
select memberid.memberid from memberid left outer join tb_sales on memberid.memberid=tb_sales.memberidwhere tb_sales.memberid is null;
如果memberid表和tb_sales表按天分区,字段是dt,那么查询2013年1月1号当天会员的以前会员消费,hive sql如下:
select memberid.memberid from memberid day_memberid left outer join
(select memberid from tb_sales where dt='20130101') day_tb_sales
on day_memberid.memberid=day_tb_sales.memberid where day_memberid.dt='20130101' and day_tb_sales.memberid is null;
0 0
- hive实例讲解实现in和not in子句
- hive实例讲解实现in和not in子句
- hive实例讲解实现in和not in子句
- hive实例讲解实现in和not in子句
- hive实例讲解实现in和not in子句
- hive实例讲解实现in和not in子句
- hive实例讲解实现in和not in子句
- Hive 实现 IN 和 NOT IN 子句
- Hive使用LEFT OUTER JOIN 实现not in 子句
- Hive中实现in和not in
- Hive 实现多字段的IN 和 NOT IN
- Hive IN子句功能梳理
- hive not in
- Hive group by,in,not in
- hadoop-hive-关于IN与NOT IN
- Hive 没有 not in 解决方案
- java实现类里写sql的in子句
- SQL Server 数据库IN子句和EXISTS子句转换
- Java中的嵌套类、内部类、静态内部类
- C++ 资源大全
- Android杂谈之Handler与timer及TimerTask结合实现定时任务
- mysql 一行转多列
- Arcengine中Element的撤销重做
- hive实例讲解实现in和not in子句
- 单例模式
- [CodeVS1735]方程的解数 做题笔记
- Pointable类----------leapmotionAPI
- Java模板引擎FreeMarker介绍和使用
- android studio Troubleshooting
- 简单图片裁剪上传,jsp+servlet+jQuery+Image Cropper(测试)
- 设计模式之单例模式(SingletonPattern)
- 游标的使用