---
title: QueryBuilder
seo:
  title: QueryBuilder — Python SDK
---

## where()

```python
def where(filter) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `filter` | `Filter` | - | |

### Returns

`'QueryBuilder'`

***

## last()

```python
def last(window) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `window` | `str` | - | |

### Returns

`'QueryBuilder'`

***

## since()

```python
def since(since) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `since` | `str` | - | |

### Returns

`'QueryBuilder'`

***

## between()

```python
def between(start, end) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `start` | `str` | - | |
| `end` | `str` | - | |

### Returns

`'QueryBuilder'`

***

## pipe()

```python
def pipe() -> 'PipelineBuilder':
```

### Returns

`'PipelineBuilder'`

***

## rows()

```python
def rows(*, fields=None, limit=None) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `fields?` | `Optional[Sequence[str]]` | `None` | |
| `limit?` | `Optional[int]` | `None` | |

### Returns

`'QueryBuilder'`

***

## ids()

```python
def ids() -> 'QueryBuilder':
```

### Returns

`'QueryBuilder'`

***

## count()

```python
def count(by=None) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `by?` | `Optional[str]` | `None` | |

### Returns

`'QueryBuilder'`

***

## recent()

```python
def recent(n) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `n` | `int` | - | |

### Returns

`'QueryBuilder'`

***

## top()

```python
def top(n, by) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `n` | `int` | - | |
| `by` | `str` | - | |

### Returns

`'QueryBuilder'`

***

## ranked()

```python
def ranked(*, by=None, pick=None, within=None) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `by?` | `Optional[str]` | `None` | |
| `pick?` | `Optional[Union[int, Sequence[int]]]` | `None` | |
| `within?` | `Optional[str]` | `None` | |

### Returns

`'QueryBuilder'`

***

## agg()

```python
def agg(func, field, q=None) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `func` | `str` | - | |
| `field` | `str` | - | |
| `q?` | `Optional[float]` | `None` | |

### Returns

`'QueryBuilder'`

***

## trend()

```python
def trend(*, metric=None, bucket=None) -> 'QueryBuilder':
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `metric?` | `Optional[str]` | `None` | |
| `bucket?` | `Optional[str]` | `None` | |

### Returns

`'QueryBuilder'`

***

## chart()

```python
def chart(*, chart_type, title, x_axis, y_axis, series_by=None, description=None) -> JsonObject:
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `chart_type` | `ChartType` | - | |
| `title` | `str` | - | |
| `x_axis` | `PresentationField` | - | |
| `y_axis` | `PresentationField` | - | |
| `series_by?` | `Optional[PresentationField]` | `None` | |
| `description?` | `Optional[str]` | `None` | |

### Returns

`JsonObject`

***

## table()

```python
def table(*, title, columns, description=None) -> JsonObject:
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `title` | `str` | - | |
| `columns` | `Sequence[PresentationField]` | - | |
| `description?` | `Optional[str]` | `None` | |

### Returns

`JsonObject`

***

## to\_json()

```python
def to_json() -> JsonObject:
```

### Returns

`JsonObject`

***

## \_\_init\_\_()

```python
def __init__(_spec) -> None:
```

### Parameters

| Prop | Type | Default | Description |
| - | - | - | - |
| `_spec` | `JsonObject` | - | |

### Returns

`None`
