docs/docs/queries/bigquery/distinct-queries.mdx
import GraphiQLIDE from '@site/src/components/GraphiQLIDE';
You can fetch rows with only distinct values of a column using the
distinct_on argument.
It is typically recommended to use order_by along with distinct_on
to ensure we get predictable results (otherwise any arbitrary row with
a distinct value of the column may be returned). Note that the
distinct_on column needs to be the first column in the order_by
expression. See sort queries for more info on
using order_by.
employees (
distinct_on: [employees_select_column]
order_by: [employees_order_by]
): [employees]!
# select column enum type for "employees" table
enum employees_select_column {
id
name
department
salary
}
You can see the complete specification of the distinct_on argument in
the API reference.
For example, fetch the employee with the highest salary from each department:
<GraphiQLIDE
query={query { bigquery_employees ( distinct_on: [department] order_by: [ {department: asc}, {salary: desc} ] ) { id name department salary } }}
response={{ "data": { "bigquery_employees": [ { "id": "5", "name": "Kamila", "department": "Engineering", "salary": "4325" }, { "id": "4", "name": "Damien", "department": "Product", "salary": "3124" }, { "id": "7", "name": "Rickard", "department": "Services", "salary": "2223" } ] } }}
/>
:::info Note
The query field will be of the format <dataset_name>_<table_name>.
:::