hasura / graphql-engine

Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
https://hasura.io
Apache License 2.0
31.17k stars 2.77k forks source link

RFC Aggregations and Grouping - GroupBy Support #9712

Open dameleney opened 1 year ago

dameleney commented 1 year ago

Hasura GraphQL GroupBy

Motivation

Several requests have been filed to support GROUP BY within Hasura's auto-generated GraphQL schema.

3478

6953

8127

"Group By" is a common function in SQL databases that is used to group rows that have the same values in specified columns into aggregated data. Essentially, it's a way of consolidating similar data into a single, summarized record.

While the Hasura graphql-engine's auto-generated API is reasonably expressive, it doesn't support Group By requiring users to create views, functions, or Hasura native queries to address use cases that require Group By capabilities. While this is suitable, there are several drawbacks such as requiring DDL privileges, extra effort, and added complexity.

Proposed Solution

An extensive explanation of the proposed Group By support can be found at the following link. RFC: Group By Support (Flat Approach)

Discussion

We invite members of the community to review the proposed solution for GroupBy and provide feedback here.

Your feedback on these areas will be invaluable in helping us refine the proposal and make an informed decision about the future direction of our project.

marionschleifer commented 1 year ago

Hey folks, we will talk about aggregations and group_by support in the community call this Thursday, 27th July at 9am PT. If you're interested, sign up here

Fridious commented 11 months ago

Hey, Any updates on the progress of this feature request? Excited to know how it's coming along!

VirendraSttl commented 9 months ago

Hi everyone, Are there any updates on the group by feature?

Boncom99 commented 7 months ago

Any updates?

jaycverg commented 2 months ago

Is there any progress on this?