我是新来的Hive,我被困在一个相当简单的问题。我的数据看起来像:
Name---Day---Doctor Bill--- Room Bill
Rakesh 1 2500 1500
Raja 1 5000 2300
Raju 1 4500 2000
Rakesh 2 3750 2250
Rakesh 3 3550 1750
Raja 2 4500 4000
Raju 2 3450 4725
找出谁付的钱最高?
查询:
hive> insert overwrite table maxdrbill select t.name,sum(t.drbill) as totaldrbill from patient t join (select name from patient group by name order by sum(drbill) desc LIMIT 1) t1 on t.name=t1.name GROUP by t.name;
在配置单元中运行以下查询时,出现以下错误:
失败:语义分析出错:行1:149无效的表别名或列引用
2条答案
按热度按时间0ejtzxu11#
性能方面,我相信这将是更好的,因为数据不需要整理,以获得最大。
求和后得到最大值:
SELECT t1.Name, MAX(TotalDrBill) FROM (SELECT t.Name, SUM(t.drbill) as TotalDrBill FROM Patient t GROUP BY t.Name) t1
oewdyzsn2#
查询
输出
希望有帮助!