我对hql还相当陌生,仍然在尝试如何理解语法。我有一个表'得分'与playerid和致胜球(gwg)。我想查看拥有最大gwg的玩家。我的问题是:
select playerid as ID from scoring where gwg = ('select max(scoring.gwg) from scoring');
虽然hive打印列的名称,但我没有得到输出。但是当我硬编码“gwg=16”时,我得到了我需要的输出。有什么建议吗?我正在做hortonworks2.3.2。
我对hql还相当陌生,仍然在尝试如何理解语法。我有一个表'得分'与playerid和致胜球(gwg)。我想查看拥有最大gwg的玩家。我的问题是:
select playerid as ID from scoring where gwg = ('select max(scoring.gwg) from scoring');
虽然hive打印列的名称,但我没有得到输出。但是当我硬编码“gwg=16”时,我得到了我需要的输出。有什么建议吗?我正在做hortonworks2.3.2。
3条答案
按热度按时间vxqlmq5t1#
我想你只需要这个简单的问题
配置单元不支持子查询。
sgtfey8w2#
有两种方法可以做到这一点。获取最大计数并用最大gwg过滤playerid
或者得到计数,按降序排列,得到最上面的一行
mccptt673#
你可以试试这个
这是另一个
上面将给出玩家ID的降序排列,即得分最高的将在上面。