| enterRule(ParseTreeListener) |   | 0% |   | 0% | 2 | 2 | 2 | 2 | 1 | 1 | 
| expression(int) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| sortItem(int) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| GROUP_CONCAT() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| LEFT_PAREN() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| RIGHT_PAREN() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| LEFT_BRACKET() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| RIGHT_BRACKET() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| ORDER() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| BY() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| SEPARATOR() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| OVER() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| ALL() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| COMMA(int) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| accept(ParseTreeVisitor) |    | 66% |    | 50% | 1 | 2 | 1 | 2 | 0 | 1 | 
| COMMA() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| exitRule(ParseTreeListener) |   | 100% |    | 50% | 1 | 2 | 0 | 2 | 0 | 1 | 
| identifier() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| windowSpec() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| DorisParser.GroupConcatContext(DorisParser.PrimaryExpressionContext) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| DISTINCT() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| expression() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| sortItem() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |