create table dm_order_2018(
id string comment '訂單id',
order_money double comment '訂單金額',
member_id int comment '會員id',
create_time timestamp comment '建立時間',
status int comment '訂單狀態'
)row format delimited fields terminated by '\t';
從本地匯入資料
a001 100.15 1 2018-01-01 13:23:12 2
a023 100.15 1 2018-01-01 15:23:12 2
a002 100 2 2018-04-01 14:23:12 2
a003 12.1 3 2018-01-01 13:23:12 2
a004 200.15 4 2018-01-01 13:23:12 2
a005 1200.15 5 2018-01-01 13:23:12 2
a006 0.15 11 2018-01-01 17:23:12 2
a007 1215.1 31 2018-01-01 10:23:12 2
a008 100.75 15 2018-01-01 14:23:12 2
a009 100.15 8 2018-01-01 15:23:12 2
a010 20.15 9 2018-01-01 16:23:12 2
a011 110.15 21 2018-01-01 14:23:12 2
a012 1.15 13 2018-01-01 13:03:12 2
a013 20.15 14 2018-02-01 13:53:12 2
a014 30.15 15 2018-03-01 13:23:12 2
a015 40.5 13 2018-01-01 13:23:12 2
a016 65 1 2017-01-01 13:23:12 2
a017 78.15 1 2017-03-01 09:23:12 1
a018 88.15 1 2017-11-01 20:23:12 2
a019 99 12 2018-02-11 13:23:12 1
a020 10.3 13 2018-04-01 13:23:12 2
a021 600 5 2018-11-01 08:58:31 2
a022 500 31 2018-11-11 08:59:02 2
路徑是存放資料的位置
load data local inpath '/home/hadoop/input/order_2018_data.txt' into table dm_order_2018 partition(dt='2019-01-01');
select * from dm_order_2018
group by member_id
order by order_memoy desc;
原因:
group by字句中,select查詢的列,要麼需要時group by中的列,要麼得是聚合函式(sum,count)。不支援直接引用非group by的列。**這點和mysql有區別**。
解決:使用視窗函式
select * from
(select id, order_money, member_id, create_time,
row_number() over(partition by member_id order by order_money desc)as row_num
from dm_order_2018
)t;
select collect_set(id) from dm_order_2018 group by member_id;
hive之group by相關技巧
在使用hive進行分組查詢時,疑惑的一些地方進行驗證,特此記錄,也希望能給大家帶來一點幫助!hive進行分組查詢時,select多個字段,則也需要按該多個字段進行分組,例 selectyear,id type count 1 from tablename where 條件 group by year...
INSERT 報 不是Group by 表示式
今天在插入資料時,發下如下sql 死活報錯 insert into test select psnid,sum f1 from psn inner join select max year lastyear,psnid from wagedata t group by psnid tmp on ps...
Hive高階聚合函式 group by擴充套件
目錄 指定多種聚合的維度 層次,對多個group by union all進行替換 簡化 可實現從右到左遞減多級的統計,顯示統計某一層次結構的聚合 可以實現多個任意維度的查詢,會統計所選列中值的所有組合的聚合 按照一定規則給統計的各維度組合打標,並返回標識值。1.group by擴充套件 group...