# For Users

- [Query](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query.md): Learn how to query Apache Pinot using SQL or explore data using the web-based Pinot query console.
- [Querying Pinot](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/querying-pinot.md): Learn how to query Pinot using SQL
- [Query Syntax](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax.md): Query Pinot using supported syntax.
- [Aggregation Functions](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/supported-aggregations.md): Aggregate functions return a single result for a group of rows.
- [Array Functions](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/array-functions.md)
- [Cardinality Estimation](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/how-to-handle-unique-counting.md)
- [Explain Plan (Single-Stage)](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/explain-plan.md)
- [Explain Plan (Multi-Stage)](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/explain-plan-multi-stage.md): This document describes EXPLAIN PLAN syntax for multi-stage engine (v2)
- [Filtering with IdSet](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/filtering-with-idset.md): Learn how to write fast queries for looking up IDs in a list of values.
- [Funnel Analysis](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/funnel-analysis.md)
- [GapFill Function For Time-Series Dataset](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/gap-fill-functions.md)
- [Grouping Algorithm](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/grouping-algorithm.md)
- [Hash Functions](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/hash-functions.md)
- [JOINs](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/joins.md): Pinot supports JOINs, including left, right, full, semi, anti, lateral, and equi JOINs. Use JOINs to connect two table to generate a unified view, based on a related column between the tables.
- [Lookup UDF Join](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/lookup-udf-join.md): For more information about using JOINs with the multi-stage query engine, see JOINs.
- [Querying JSON data](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/json-queries.md)
- [Transformation Functions](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/supported-transformations.md): This document contains the list of all the transformation functions supported by Pinot SQL.
- [URL Functions](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/url-functions.md)
- [Window Functions](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-syntax/windows-functions.md): Use window functions to compute averages, sort, rank, or count items, calculate sums, and find minimum or maximum values across windows.
- [Query Options](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-options.md): This document contains all the available query options
- [Query Quotas](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-quotas.md)
- [Query using Cursors](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/query-using-cursors.md)
- [Multi-stage query](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query.md): Learn more about multi-stage query engine and how to troubleshoot issues.
- [Understanding Stages](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/understanding-stages.md): Learn more about multi-stage stages and how to extract stages from query plans.
- [Explain](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/understanding-multi-stage-explain.md): Learn more about multi-stage explain plans and how to interpret them.
- [Stats](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/understanding-stage-stats.md): Learn more about multi-stage stats and how to use them to improve your queries.
- [Optimizing joins](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/optimizing-joins.md): Tips and tricks that can be used to optimize joins
- [Join strategies](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/join-strategies.md)
- [Random + broadcast join strategy](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/join-strategies/random-+-broadcast-join-strategy.md)
- [Query time partition join strategy](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/join-strategies/query-time-partition-join-strategy.md)
- [Colocated join strategy](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/join-strategies/colocated-join-strategy.md)
- [Lookup join strategy](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/join-strategies/lookup-join-strategy.md)
- [Hints](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/hints.md)
- [Operator Types](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types.md): Describes the multi-stage operators in general
- [Aggregate](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/aggregate.md): Describes the aggregate relation operator in the multi-stage query engine.
- [Filter](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/filter.md): Describes the filter relation operator in the multi-stage query engine.
- [Join](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/hash_join.md): Describes the hash join relation operator in the multi-stage query engine.
- [Intersect](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/intersect.md): Describes the intersect relation operator in the multi-stage query engine.
- [Leaf](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/leaf.md): Describes the leaf operator in the multi-stage query engine.
- [Literal](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/literal.md): Describes the literal relation operator in the multi-stage query engine.
- [Mailbox receive](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/mailbox-receive.md): Describes the mailbox receive operator in the multi-stage query engine.
- [Mailbox send](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/mailbox-send.md): Describes the mailbox send operator in the multi-stage query engine.
- [Minus](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/minus.md): Describes the minus relation operator in the multi-stage query engine.
- [Sort or limit](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/sortorlimit.md): Describes the sort or limit relation operator in the multi-stage query engine.
- [Transform](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/transform.md): Describes the transform relation operator in the multi-stage query engine.
- [Union](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/union.md): Describes the union relation operator in the multi-stage query engine.
- [Window](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/operator-types/window.md): Describes the window relational operator in the multi-stage query engine.
- [Stage-Level Spooling](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/multi-stage-query/stage-level-spooling.md): Also know as reuse common expressions
- [User-Defined Functions (UDFs)](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/scalar-functions.md)
- [Explain plan](https://docs.pinot.apache.org/release-1.3.0/for-users/user-guide-query/explain-plan-1.md)
- [APIs](https://docs.pinot.apache.org/release-1.3.0/for-users/api.md)
- [Broker Query API](https://docs.pinot.apache.org/release-1.3.0/for-users/api/querying-pinot-using-standard-sql.md)
- [Query Response Format](https://docs.pinot.apache.org/release-1.3.0/for-users/api/querying-pinot-using-standard-sql/response-format.md)
- [Controller Admin API](https://docs.pinot.apache.org/release-1.3.0/for-users/api/pinot-rest-admin-interface.md)
- [Controller API Reference](https://docs.pinot.apache.org/release-1.3.0/for-users/api/controller-api-reference.md): All user APIs available in Pinot
- [External Clients](https://docs.pinot.apache.org/release-1.3.0/for-users/clients.md)
- [JDBC](https://docs.pinot.apache.org/release-1.3.0/for-users/clients/jdbc.md)
- [Java](https://docs.pinot.apache.org/release-1.3.0/for-users/clients/java.md)
- [Python](https://docs.pinot.apache.org/release-1.3.0/for-users/clients/python.md)
- [Golang](https://docs.pinot.apache.org/release-1.3.0/for-users/clients/golang.md): Pinot Client for Golang
- [Tutorials](https://docs.pinot.apache.org/release-1.3.0/for-users/tutorials.md)
- [Use OSS as Deep Storage for Pinot](https://docs.pinot.apache.org/release-1.3.0/for-users/tutorials/use-oss-as-deep-storage-for-pinot.md): Configure AliCloud Object Storage Service (OSS) as Pinot deep storage
- [Ingest Parquet Files from S3 Using Spark](https://docs.pinot.apache.org/release-1.3.0/for-users/tutorials/ingest-parquet-files-from-s3-using-spark.md)
- [Creating Pinot Segments](https://docs.pinot.apache.org/release-1.3.0/for-users/tutorials/create-pinot-segments.md)
- [Use S3 as Deep Storage for Pinot](https://docs.pinot.apache.org/release-1.3.0/for-users/tutorials/use-s3-as-deep-store-for-pinot.md)
- [Use S3 and Pinot in Docker](https://docs.pinot.apache.org/release-1.3.0/for-users/tutorials/use-s3-and-pinot-in-docker.md)
- [Batch Data Ingestion In Practice](https://docs.pinot.apache.org/release-1.3.0/for-users/tutorials/batch-data-ingestion-in-practice.md)
- [Schema Evolution](https://docs.pinot.apache.org/release-1.3.0/for-users/tutorials/schema-evolution.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pinot.apache.org/release-1.3.0/for-users.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
