# SQL-Editor

Er ist nützlich, wenn Sie mehr Kontrolle benötigen, als der visuelle Builder bietet. Sie können Spalten auswählen, Filter hinzufügen und Ergebnisse genau nach Ihren Wünschen gruppieren oder sortieren. Der Editor verwendet [DuckDB SQL-Syntax](https://duckdb.org/docs/stable/sql/introduction.html).

Um eine Abfrage auszuführen, müssen Sie zuerst einen Datensatz auswählen und Ihre Abfrage immer mit einem **LIMIT** beenden. Die maximale Zeilenanzahl für Abfragen beträgt 10.000.

## SQL-Editor öffnen

Sie können in den SQL-Modus von jeder Auswertung aus wechseln:

* Gehen Sie zum Reiter **Daten**
* Klicken Sie auf die Schaltfläche **SQL** neben **No-code**

Dies öffnet einen Texteditor, in dem Sie Ihre SQL-Abfrage schreiben können.

## Datensatz auswählen

Sie müssen immer definieren, auf welchem Datensatz die Abfrage ausgeführt werden soll.

* Klicken Sie auf das Dropdown-Menü mit der Bezeichnung **Verfügbare Datensätze**
* Kopieren Sie die Datensatz-ID mit der Schaltfläche **Kopieren**
* Fügen Sie sie in Ihren SQL-Code ein

Beispiel:

```sql
select *
from '{{ds_abc123xy456}}' as "Beispiel-Datensatz"
limit 1000
```

**Wichtig:** Fügen Sie immer **LIMIT** am Ende Ihrer Abfrage hinzu. Die Abfrage wird ohne diesen Befehl nicht ausgeführt. 1000 ist die maximale Anzahl der Zeilen für die Abfrage.

## Eigene Abfrage schreiben

Sobald der Datensatz ausgewählt ist, können Sie jede gültige DuckDB SQL-Abfrage schreiben.

#### Beispiel: Auswählen und zählen

```sql
select department, count(*) as total
from '{{ds_abc123xy456}}'
group by department
order by total desc
limit 1000
```

Dieses Beispiel zählt, wie viele Zeilen für jede Abteilung existieren und sortiert sie von hoch nach niedrig.

## Datensatz-Schema erkunden

Unterhalb des Editors sehen Sie eine Liste der Spalten für den ausgewählten Datensatz. Jede zeigt:

* Den Spaltennamen
* Den Datentyp (wie **VARCHAR**, **DATE**, **DOUBLE**, etc.)

Nutzen Sie diese, um gültige Abfragen zu schreiben, ohne Spaltennamen erraten zu müssen.

Beispieltypen:

| Spaltenname        | Typ     | Bedeutung           |
| ------------------ | ------- | ------------------- |
| Name               | VARCHAR | Textwerte           |
| Startdatum         | DATE    | Datum für Filterung |
| Alter              | BIGINT  | Ganze Zahl          |
| Vollzeitäquivalent | DOUBLE  | Dezimalzahl         |

## Häufige SQL-Klauseln

Sie können alle standardmäßigen DuckDB-Klauseln verwenden. Hier ist eine kurze Übersicht:

| Klausel      | Funktion                                           |
| ------------ | -------------------------------------------------- |
| **select**   | Wählen Sie anzuzeigende Spalten                    |
| **from**     | Definieren Sie den Datensatz                       |
| **where**    | Zeilen filtern (z. B. `where age > 30`)            |
| **group by** | Daten zusammenfassen (z. B. Summen pro Kategorie)  |
| **order by** | Zeilen sortieren (z. B. `order by name asc`)       |
| **limit**    | Immer erforderlich, begrenzt die Anzahl der Zeilen |

## Abfragevalidierung

Alle SQL-Abfragen werden vor der Ausführung validiert. Das System überprüft Ihre Abfrage, um sicherzustellen, dass sie sicher ist und den Plattformregeln entspricht.

Operationen, die Daten ändern, löschen oder beschädigen könnten - wie **DROP**, **DELETE**, **UPDATE** oder das Erstellen neuer Tabellen - sind nicht erlaubt. Wenn das System etwas Ungültiges oder Unsicheres erkennt, wird die Abfrage nicht ausgeführt.

Dies stellt sicher, dass im Editor nur sichere und schreibgeschützte Operationen möglich sind.

Eine vollständige Liste der verfügbaren SQL-Funktionen mit Beispielen finden Sie in unserer [SQL-Befehle Referenz](/auswertungen/sql-editor/sql-befehle.md).

## Abfrage ausführen

Klicken Sie auf die Schaltfläche **Ausführen**, um Ihre Abfrage zu starten. Die Ergebnisse werden in der Tabelle links angezeigt.

Wenn nichts angezeigt wird:

* Überprüfen Sie Tippfehler in den Spaltennamen
* Stellen Sie sicher, dass die Datensatz-ID korrekt ist
* Bestätigen Sie, dass Sie **limit 1000** hinzugefügt haben

Wenn die Tabelle immer noch leer ist, könnte Ihre Abfrage basierend auf den Filtern keine Zeilen zurückgeben.

## Zurück zum visuellen Modus wechseln

Möchten Sie den Builder wieder verwenden?

* Klicken Sie auf **No-code** neben **SQL**
* Dies setzt Ihre Abfrage zurück und kehrt zur Drag-and-Drop-Oberfläche zurück

Hinweis: Sie verlieren Ihre aktuelle SQL-Abfrage, wenn Sie wechseln.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.polyteia.com/auswertungen/sql-editor-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
