2018-12-13 14:47:20 -05:00
---
2019-08-21 00:48:59 -04:00
id: timeboundaryquery
title: "TimeBoundary queries"
sidebar_label: "TimeBoundary"
2018-12-13 14:47:20 -05:00
---
2018-11-13 12:38:37 -05:00
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
2018-12-12 23:42:12 -05:00
2015-05-05 17:07:32 -04:00
Time boundary queries return the earliest and latest data points of a data set. The grammar is:
```json
{
"queryType" : "timeBoundary",
"dataSource": "sample_datasource",
2019-08-21 00:48:59 -04:00
"bound" : < "maxTime" | "minTime" > # optional, defaults to returning both timestamps if not set
2016-08-15 13:25:24 -04:00
"filter" : { "type": "and", "fields": [< filter > , < filter > , ...] } # optional
2015-05-05 17:07:32 -04:00
}
```
There are 3 main parts to a time boundary query:
|property|description|required?|
|--------|-----------|---------|
2020-01-03 12:33:19 -05:00
|queryType|This String should always be "timeBoundary"; this is the first thing Apache Druid looks at to figure out how to interpret the query|yes|
2019-08-21 00:48:59 -04:00
|dataSource|A String or Object defining the data source to query, very similar to a table in a relational database. See [DataSource ](../querying/datasource.md ) for more information.|yes|
2015-05-05 17:07:32 -04:00
|bound | Optional, set to `maxTime` or `minTime` to return only the latest or earliest timestamp. Default to returning both if not set| no |
2019-08-21 00:48:59 -04:00
|filter|See [Filters ](../querying/filters.md )|no|
|context|See [Context ](../querying/query-context.md )|no|
2015-05-05 17:07:32 -04:00
The format of the result is:
```json
[ {
"timestamp" : "2013-05-09T18:24:00.000Z",
"result" : {
"minTime" : "2013-05-09T18:24:00.000Z",
"maxTime" : "2013-05-09T18:37:00.000Z"
}
} ]
```