使用coalesce函数只要超过一个expression,就会报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

使用coalesce函数只要超过一个expression,就会报错

123ya 2017-05-14 22:20:48 4875

使用coalesce函数只要超过一个expression,就会报错:
FAILED: ODPS-0130071:Semantic analysis exception - Expression not in GROUP BY key : line 8:9 ''$.table''

sql如下:
SELECT
md5(concat(aid,bid)) as id
,aid
, bid
, sum(amountdue) as amountdue
, coalesce(

sum(regexp_count(get_json_object(extended_x, '$.table.tableParties'), '{')),
decode(get_json_object(extended_x, '$.table'), NULL, 0, 1)

) as tableparty
, decode(sum(headcount),null,0,sum(headcount) ) as headcount
, 'a' as pt
FROM e_orders
where pt='20170425'
group by aid, bid

SQL
分享到
取消 提交回答
全部回答(1)
  • 123ya
    2019-07-17 21:10:10

    您好,group by 后面要把分组字段都要跟上,您表达
    coalesce(

    sum(regexp_count(get_json_object(extended_x, '$.table.tableParties'), '{')),
    decode(get_json_object(extended_x, '$.table'), NULL, 0, 1)

    ) as tableparty
    , decode(sum(headcount),null,0,sum(headcount) ) as headcount
    返回值实际上也是字段,需要把整个表达式写在group by 后面

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题