Aggregation queries =================== .. contents:: Table of contents :backlinks: none :depth: 1 :local: You can fetch aggregations on columns along with nodes using an aggregation query. Available aggregation functions are ``count``, ``sum``, ``avg``, ``max`` and ``min``. .. note:: The name of the :ref:`aggregate field ` is of the form ``field-name + _aggregate`` Fetch aggregated data of an object ---------------------------------- For example, fetch a list of articles with aggregated data of their rating: .. graphiql:: :view_only: :query: query { article_aggregate { aggregate { count sum { rating } avg { rating } max { rating } } nodes { id title rating } } } :response: { "data": { "article_aggregate": { "aggregate": { "count": 10, "sum": { "rating": 26 }, "avg": { "rating": 2.6 }, "max": { "rating": 4 } }, "nodes": [ { "id": 1, "title": "sit amet", "rating": 1 }, { "id": 2, "title": "a nibh", "rating": 3 }, { "id": 3, "title": "amet justo morbi", "rating": 4 }, { "id": 4, "title": "vestibulum ac est", "rating": 2 }, { "id": 5, "title": "ut blandit", "rating": 2 }, { "id": 6, "title": "sapien ut", "rating": 1 }, { "id": 7, "title": "nisl duis ac", "rating": 4 }, { "id": 8, "title": "donec semper sapien", "rating": 3 }, { "id": 9, "title": "sit amet", "rating": 3 }, { "id": 10, "title": "dui proin leo", "rating": 3 } ] } } } Fetch aggregated data on nested objects --------------------------------------- The following is an example of a nested object query with aggregations on the **array relationship** between an author and articles. Fetch an author whose id is ``1`` and a nested list of articles with aggregated data of their rating: .. graphiql:: :view_only: :query: query { author (where: {id: {_eq: 1}}) { id name articles_aggregate { aggregate { count avg { rating } max { rating } } nodes { id title rating } } } } :response: { "data": { "author": [ { "id": 1, "name": "Justin", "articles_aggregate": { "aggregate": { "count": 2, "avg": { "rating": 2.5 }, "max": { "rating": 4 } }, "nodes": [ { "id": 15, "title": "vel dapibus at", "rating": 4 }, { "id": 16, "title": "sem duis aliquam", "rating": 1 } ] } } ] } }