mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-09-07 14:40:31 +00:00
Add support for multiple expressions, order by in aggregations (#879)
* Add support for multiple expressions, order by in aggregations * Fix formatting errors * Resolve linter errors
This commit is contained in:
parent
ae3b5844c8
commit
482a3ad417
3 changed files with 16 additions and 8 deletions
|
@ -1369,8 +1369,7 @@ impl<'a> Parser<'a> {
|
|||
// ANSI SQL and BigQuery define ORDER BY inside function.
|
||||
if !self.dialect.supports_within_after_array_aggregation() {
|
||||
let order_by = if self.parse_keywords(&[Keyword::ORDER, Keyword::BY]) {
|
||||
let order_by_expr = self.parse_order_by_expr()?;
|
||||
Some(Box::new(order_by_expr))
|
||||
Some(self.parse_comma_separated(Parser::parse_order_by_expr)?)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
@ -1393,10 +1392,13 @@ impl<'a> Parser<'a> {
|
|||
self.expect_token(&Token::RParen)?;
|
||||
let within_group = if self.parse_keywords(&[Keyword::WITHIN, Keyword::GROUP]) {
|
||||
self.expect_token(&Token::LParen)?;
|
||||
self.expect_keywords(&[Keyword::ORDER, Keyword::BY])?;
|
||||
let order_by_expr = self.parse_order_by_expr()?;
|
||||
let order_by = if self.parse_keywords(&[Keyword::ORDER, Keyword::BY]) {
|
||||
Some(self.parse_comma_separated(Parser::parse_order_by_expr)?)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
self.expect_token(&Token::RParen)?;
|
||||
Some(Box::new(order_by_expr))
|
||||
order_by
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue