欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hive学习笔记2:select 查询

程序员文章站 2024-01-15 21:57:28
...

1.查询基本表中数据
SELECT * FROM t1;

2.获取当前正在使用的数据库
SELECT current_database();

3.查询某个库中的表
方法一:SELECT * FROM db_name.table_name;
方法二:USE db_name; SELECT * FROM table_name;

4.WHERE条件
SELECT * FROM sales WHERE amount > 10 AND region = 'CHINA';

5.ALL和DISTINCT子句
hive学习笔记2:select 查询

6.基于分区的查询
注:如果该表建的有分区,最好卡分区查数据,查全量有时候会报错,有时候会因为数据太大,耗时较长,所以,有分区的查询时最好卡分区。

SELECT page_views.*
FROM page_views
WHERE page_views.date >= '2018-01-01' AND page_views.date <= '2018-01-31';

如果一个表和另一个表join,那么分区条件可以放在ON中

SELECT page_views.*
FROM page_views JOIN dim_users
ON (page_views.user_id = dim_users.id AND page_views.date >= '2018-01-01' AND page_views.date <= '2018-01-31');

7.having子句

SELECT col1 FROM t1 GROUP BY col1 HAVING SUM(col2) > 10;

也可以这样写

SELECT col1 FROM (SELECT col1, SUM(col2) as col2sum FROM t1 GROUP BY col1) t2 WHERE t2.col2sum > 10;

8.LIMIT子句
返回前5行

SELECT * FROM customers LIMIT 5;

返回第三行到第七行

SELECT * FROM customers ORDER BY create_date LIMIT 2,5;
相关标签: hive select