[//]: # (title: distinct)
Removes duplicate rows.
The rows in the resulting [`DataFrame`](DataFrame.md) are in the same order as they were in the original [`DataFrame`](DataFrame.md).
Related operations: [](filterRows.md)
```kotlin
df.distinct()
```
If columns are specified, resulting [`DataFrame`](DataFrame.md) will have only given columns with distinct values.
See [column selectors](ColumnSelectors.md) for how to select the columns for this operation.
```kotlin
df.distinct { age and name }
// same as
df.select { age and name }.distinct()
```
```kotlin
df.distinct("age", "name")
// same as
df.select("age", "name").distinct()
```
## distinctBy
Keep only the first row for every group of rows grouped by some condition.
See [column selectors](ColumnSelectors.md) for how to select the columns for this operation.
```kotlin
df.distinctBy { age and name }
// same as
df.groupBy { age and name }.mapToRows { group.first() }
```
```kotlin
df.distinctBy("age", "name")
// same as
df.groupBy("age", "name").mapToRows { group.first() }
```