# ROW_NUMBER

> ROW_NUMBER-Fensterfunktion in StackQL: die Zeilen einer Partition ab 1 in der Reihenfolge der ORDER BY-Klausel des Fensters nummerieren.

Source: https://stackql.io/de/language-spec/functions/window/row_number

Gibt die Nummer der Zeile innerhalb der aktuellen Partition zurück. Die Zeilen werden beginnend bei 1 in der Reihenfolge nummeriert, die durch die `ORDER BY`-Klausel in der Fensterdefinition festgelegt ist, andernfalls in beliebiger Reihenfolge.

Siehe auch:
[[` SELECT `]](/language-spec/select) [[` RANK `]](/language-spec/functions/window/rank) [[` DENSE_RANK `]](/language-spec/functions/window/dense_rank)

* * *

## Syntax

```sql
SELECT ROW_NUMBER() OVER ([PARTITION BY column] ORDER BY column [ASC|DESC])
FROM <multipartIdentifier>;
```

## Argumente

__*PARTITION BY column*__
Optional. Teilt die Ergebnismenge in Partitionen auf. Die Funktion `ROW_NUMBER` wird auf jede Partition separat angewendet und setzt die Zeilennummer für jede Partition zurück.

__*ORDER BY column*__
Legt die Reihenfolge fest, in der die Zeilennummern vergeben werden. Für aussagekräftige Ergebnisse erforderlich.

## Rückgabewert(e)

Gibt eine Ganzzahl zurück, die die fortlaufende Zeilennummer innerhalb der Partition darstellt, beginnend bei 1.

* * *

## Beispiele

### Rang der Mitwirkenden innerhalb eines Repositorys ermitteln

```sql
-- Rank contributors within a repository
SELECT
    login,
    contributions,
    ROW_NUMBER() OVER (ORDER BY contributions DESC) as contribution_rank
FROM github.repos.contributors
WHERE owner = 'stackql'
  AND repo = 'stackql';
```

### Reihenfolge der Issues im Zeitverlauf verfolgen

```sql
-- Track issue growth over time
SELECT
    number,
    title,
    state,
    created_at,
    ROW_NUMBER() OVER (ORDER BY created_at) as issue_sequence
FROM github.issues.issues
WHERE owner = 'stackql'
  AND repo = 'stackql'
ORDER BY created_at;
```

### `ROW_NUMBER` mit `RANK` und `DENSE_RANK` vergleichen

```sql
-- Compare RANK vs DENSE_RANK vs ROW_NUMBER for contributors
SELECT
    login,
    contributions,
    RANK() OVER (ORDER BY contributions DESC) as rank,
    DENSE_RANK() OVER (ORDER BY contributions DESC) as dense_rank,
    ROW_NUMBER() OVER (ORDER BY contributions DESC) as row_num
FROM github.repos.contributors
WHERE owner = 'stackql'
  AND repo = 'stackql';
```

Weitere Informationen finden Sie unter [https://sqlite.org/windowfunctions.html#built-in_window_functions](https://sqlite.org/windowfunctions.html#built-in_window_functions).
