查询不在Impala中工作

问题描述:

(SELECT CONCAT('ABCDE',SUM((SELECT MAX(id) FROM optigo_data.admin_userdetails LIMIT 1)+1))) 

上面是在Mysql中工作,但它不在Impala/Hive中工作,请帮助我。查询不在Impala中工作

Error: sub query is not supported.

此错误的原因是Impala仅支持FROM和WHERE子句中的子查询。 我认为这将是黑斑羚相当于:

SELECT 
CONCAT('ABCDE',cast(SUM(t.value+1) as string)) 
from 
    (SELECT MAX(cast(id as int)) as value 
    FROM optigo_data.admin_userdetails LIMIT 1) as t 

但是看着查询假设你的目标是产生含有最高ID + 1的字符串,一个简单的解决办法是:

SELECT 
CONCAT('ABCDE',cast(MAX(cast(id as int)+1) as string)) 
FROM optigo_data.admin_userdetails 

如果我的假设不正确,请纠正我。如果id已经是数字格式,则可以删除cast as int

+1

感谢它的工作! –