| 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 |