我想跑 concat_ws
作用于 group by
,我得到下面的错误。意味着Hive不支持 concat_ws
进入 group by
? 如果没有,有没有其他的写作方法?
我在表中有以下记录(只有年、月和日):
Year, Month, Date,
2018, 08, 09
2019, 09, 27
2017, 09, 27
2019, 02, 27
2019, 01, 27
2019, 01, 30
2019, 09, 27
2017, 09, 27
2019, 02, 27
2019, 01, 27
2019, 01, 30
..., ..., ...
有没有一种方法可以使用查询将我的记录分组到一些行中,从而将所有的年、月和日分组在一起?
查询的最终结果将是两行:
realdate,num
2019-01-27, 4
2019-01-28, 23
2019-01-29, 34
2019-02-01, 8
2019-02-02, 4
我认为查询应该是这样的:
select
concat_ws('-', year, month, day) as realdate,count(*)
from
waterfall_table
where
concat_ws('-', year, month, day) between '2019-01-25' and '2019-02-10'
group by concat_ws('-', year, month, day)
order by concat_ws('-', year, month, day) desc
limit 100
5条答案
按热度按时间zzwlnbp81#
可以在GROUPBY和ORDERBY子句中使用列别名
r8uurelv2#
请试试这个
vhmi4jdf3#
按使用别名排序:
结果:
这个jira似乎有关联:hive-1449
t2a7ltrp4#
hive对别名很挑剔。试试这个:
按realdate desc排序
jexiocij5#
如果我理解正确的话,你需要这样的东西: