1
Fork 0

get group by variations working

This commit is contained in:
Jake Wheat 2013-12-17 19:27:09 +02:00
parent b703e04af3
commit 74c6d39b23
2 changed files with 25 additions and 4 deletions
Language/SQL/SimpleSQL

View file

@ -601,7 +601,19 @@ where, having, limit, offset).
> sgroupBy :: P [GroupingExpr]
> sgroupBy = try (keyword_ "group")
> *> keyword_ "by"
> *> commaSep1 (SimpleGroup <$> scalarExpr)
> *> commaSep1 groupingExpression
> where
> groupingExpression =
> choice
> [try (keyword_ "cube") >>
> Cube <$> parens (commaSep groupingExpression)
> ,try (keyword_ "rollup") >>
> Rollup <$> parens (commaSep groupingExpression)
> ,GroupingParens <$> parens (commaSep groupingExpression)
> ,try (keyword_ "grouping") >> keyword_ "sets" >>
> GroupingSets <$> parens (commaSep groupingExpression)
> ,SimpleGroup <$> scalarExpr
> ]
> having :: P ScalarExpr
> having = keywordScalarExpr "having"