COLLECT_LIST里使用ORDER BY时报错了,cannot recognize input near 'event_id' 'ORDER' 'BY' in select expression
时间: 2023-08-18 13:03:55 浏览: 208
在Hive中,COLLECT_LIST函数中的ORDER BY子句应该位于函数的括号内部。如果将ORDER BY写在函数外部会导致语法错误。
正确的语法应该是:
```
SELECT id, COLLECT_LIST(value ORDER BY timestamp ASC) AS value_list
FROM t
GROUP BY id;
```
在这个语句中,我们使用ORDER BY子句按照timestamp列对收集到的value值进行升序排序,同时将ORDER BY子句写在了COLLECT_LIST函数的括号内部。
需要注意的是,ORDER BY子句只能用于分组函数(如COLLECT_LIST、GROUP_CONCAT等)中,不能用于普通的SELECT语句中。如果需要对普通的SELECT语句中的结果进行排序,应该使用ORDER BY子句。
阅读全文