求助hive中sql语句的问题,from...insert into ??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助hive中sql语句的问题,from...insert into ??相关的知识,希望对你有一定的参考价值。

from array_test a
insert into table tmp
select sum(b)from (
select a.name,count(*) as b
where a.name like '%.qq.com' or a.name like '%qzone%'
group by a.name
order by b
desc
)tmp;

错误提示:FAILED: ParseException line 3:14 missing EOF at 'from' near ')'
这是什么情况??求解答
tmp改为tmp1

参考技术A ParseException line 3:14 missing EOF at 'from' near ')'
第3行,14字符解析,是因为 from 前面少一个空格嘛?
select sum(b) from (追问

加了空格后就变成:
FAILED: ParseException line 3:15 missing EOF at 'from' near ')'

参考技术B tmp前面少空格 参考技术C sum(b)from函数和from之间少个空格

求助一条mysql 更新 语句 where 后面为查询的结果

求助一条sql 语句
表 a 字段 aa , ab
表 b 字段 ab
更新 表a 字段 aa 为1 当 表a 字段ab = 表 b 字段 ab
update a set aa = '1' where 后面怎么写呢
谢谢

update a set aa = \'1\' where ab = ( select ab from b);
测试过了 可以通过
但是这个语句只有在 b表中只有一条记录的时候是准确的
如果b表中有多条记录 那你得在子查询中查询指定的某一个 ab 列的值 才是准确的!追问

提示错误是 #1242 - Subquery returns more than 1 row
b表中有很多记录呢
你的意思是 select ab from b 只有一条结果是吗

追答

如果有很多记录的话
假设我们要找 b表中id 为 100 的记录的 ab 和 a表的ab相同的时候
update a set aa=\'1\' where ab = (select ab from b where id=100);
这样就可以了 这样的话整个查询语句的含义是
修改 a 表中的 aa 字段的值为 1 条件是 a 表中的 ab字段和
b 表中的 id 为 100 的 ab 数据相同的

毕竟 a 表和 b 表是不同的2个表 如果 b表中只有仅仅一个数据的话 没关系

具体你的 b表的 ab的数据都是写什么 在什么情况下要把他们修改告诉我把

参考技术A update a, b set a.aa=1 where a.ab=b.ab追问

好像不行啊

追答

报什么错呢

追问

这个可以了
我还想 :
当 b中 有2个ab 的值等于a中ab值 a.aa=2
当 b中 有3个ab 的值等于a中ab值 a.aa=3

参考技术B update a,b set aa='1' where a.ab=b.ab 参考技术C where a.ab=b追问

where a.ab = b.ab ???

追答

嗯 后面AB没看到 B.AB

以上是关于求助hive中sql语句的问题,from...insert into ??的主要内容,如果未能解决你的问题,请参考以下文章

【求助】oracle中sql语句 此列列表已索引的解决办法

求助,sql语句无法用到索引,执行很慢

求助:SQLSERVER多条查询语句合并

求助关于SQL like查询语句时间长的问题

求助:MYSQL 中的replace函数怎么才能不区分大小写?

把下面查询语句的在java中转换成sql语句,求助。