| <!-- |
| |
| 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. |
| |
| --> |
| |
| ## Selector Functions |
| |
| Currently, IoTDB supports the following selector functions: |
| |
| | Function Name | Allowed Input Series Data Types | Required Attributes | Output Series Data Type | Description | |
| | ------------- | ------------------------------------- | ------------------------------------------------------------ | ----------------------------- | ------------------------------------------------------------ | |
| | TOP_K | INT32 / INT64 / FLOAT / DOUBLE / TEXT | `k`: the maximum number of selected data points, must be greater than 0 and less than or equal to 1000 | Same type as the input series | Returns `k` data points with the largest values in a time series. | |
| | BOTTOM_K | INT32 / INT64 / FLOAT / DOUBLE / TEXT | `k`: the maximum number of selected data points, must be greater than 0 and less than or equal to 1000 | Same type as the input series | Returns `k` data points with the smallest values in a time series. | |
| |
| Example: |
| |
| ``` sql |
| select s1, top_k(s1, 'k'='2'), bottom_k(s1, 'k'='2') from root.sg1.d2 where time > 2020-12-10T20:36:15.530+08:00; |
| ``` |
| |
| Result: |
| |
| ``` |
| +-----------------------------+--------------------+------------------------------+---------------------------------+ |
| | Time| root.sg1.d2.s1|top_k(root.sg1.d2.s1, "k"="2")|bottom_k(root.sg1.d2.s1, "k"="2")| |
| +-----------------------------+--------------------+------------------------------+---------------------------------+ |
| |2020-12-10T20:36:15.531+08:00| 1531604122307244742| 1531604122307244742| null| |
| |2020-12-10T20:36:15.532+08:00|-7426070874923281101| null| null| |
| |2020-12-10T20:36:15.533+08:00|-7162825364312197604| -7162825364312197604| null| |
| |2020-12-10T20:36:15.534+08:00|-8581625725655917595| null| -8581625725655917595| |
| |2020-12-10T20:36:15.535+08:00|-7667364751255535391| null| -7667364751255535391| |
| +-----------------------------+--------------------+------------------------------+---------------------------------+ |
| Total line number = 5 |
| It costs 0.006s |
| ``` |