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