# Como selecionar Top X queries com a GraphQL API

As queries Top X costumam ser usadas para realizar consultas e análises sobre dados. Elas têm a finalidade de visualizar o uso de recursos e ferramentas e ter uma visão detalhada sobre determinadas condições que são mais ou menos usadas.

Para selecionar Top X queries através da [GraphQL API](/pt-br/documentacao/devtools/graphql-api/visao-geral/), siga os passos descritos no guia [Como rodar requisições da GraphQL no Postman](/pt-br/documentacao/produtos/guias/consultar-graphql-postman/) utilizando a URL `https://api.azionapi.net/events/graphql`.

Depois, na caixa de código do Postman da requisição de GraphQL, adicione a seguinte **Top X Query**, modificando o `tsRange` de acordo com o intervalo de tempo que você quer utilizar:

```graphql
query EventsTopUri {
 workloadEvents(
   limit: 5,
   filter: {
     tsRange: {begin:"2022-11-20T10:10:10", end:"2022-11-27T10:10:10"}
   },
   aggregate: {count: requestUri}
   groupBy: [requestUri]
   orderBy: [count_DESC]
   )
 {
   requestUri
   count
 }
}
```

O exemplo acima consulta o app **Events** de dados **brutos** com o dataset de **HTTP**. Além disso, o operador **count** solicita a agregação dos dados com as informações do campo **requestUri** em um determinado período de tempo, informado através do campo **tsRange**. O retorno da API também foi limitado a 5 registros através do campo **limit**.

Por fim, os dados foram agrupados (**groupBy**) pelo campo **requestUri** e ordenados (**orderBy**) pelo retorno do operador **count**, de forma **decrescente** (**DESC**), para que os maiores retornos da agregação sejam exibidos primeiro.

Para consultas com dados agregados, é *obrigatório* informar:

- Um intervalo de tempo para consulta, usando **tsRange** ou **tsGt** + **tsLt**.
- Os campos em que deseja agrupar as informações, usando **groupBy**.
- Quais dos dados obtidos na consulta devem ser exibidos. No caso do exemplo apresentado, foram usados **requestUri** e **count**, onde **count** é o retorno da agregação de **requestUri**.

---

Envie sua requisição. Você receberá uma resposta semelhante a:

```json
{
   "data": {
       "workloadEvents": [
           {
               "requestUri": "/requests/images",
               "count": 610081
           },
           {
               "requestUri": "/path/to/file/document",
               "count": 6270
           },
           {
               "requestUri": "/send/stock",
               "count": 3568
           }
       ]
   }
}
```

A API retorna os dados da consulta de **Top RequestUri** de acordo com a query informada na requisição.

Para saber mais sobre os conjuntos de dados disponíveis para consulta com a GraphQL API, visite a [página de documentação](/pt-br/documentacao/devtools/graphql-api/recursos/#conjuntos-de-dados).



---