Datenbankabfragen

Previous  Next

 

 

 

Letzte Änderung 01.02.2010

Berechnungen und Gruppierung

Für dieses Beispiel benötigen Sie die Beispiel-Datenbank FAHRZEUG_VERWALTUNG.

 

Neben der Sortierung von Datensätzen ist auch eine Gruppierung möglich. Durch eine Gruppierung wird nur noch 1 Vertreter einer Gruppe angezeigt, z.B. nur noch 1 Hersteller.

 

Eine Gruppierung erfolgt i.d.R. immer in Kombination mit einer sog. Aggregatfunktion, welche z.B. eine Summe, den Minimum- oder Maximum-Wert in einer Spalte ermittelt jeweils pro Gruppe ermittelt und somit immer nur 1 Ergebniswert pro Gruppe liefert. Die entsprechende Aggregatfunktion sowie das Datenfeld auf das die Funktion angewendet werden soll müssen Sie zusammen mit dem Ergebnis-Datenfeld im SQL-Assistenten unter Benutzerdefiniert angeben, z.B. Quelle: "sum(PREIS)", Ziel: PREIS.

 

Unter Schritt 3: Filter festlegen, bei Gruppieren nach Spalte(n) können Sie dann im SQL-Assistenten angeben, nach welchem Datenfeld das Abfrageergebnis gruppiert werden soll, z.B. mit #HERSTELLER.ID nach Hersteller.

 

Durch die Kombination von Gruppiertem Wert und Ergebnis einer Berechnung ergibt sich schließlich eine Ergebnisliste mit jeweils nur noch 1 Vertreter pro Gruppe, dem das Berechnungsergebnis zugewiesen wird, z.B. die jeweils günstigsten Modelle eines Herstellers.

 

 

Aggregatsfunktionen:

 

Funktionen

Erklärung

AVG( )

Berechnet pro Gruppe die Durchschnittswerte.

 

Datenbank-Tabelle:

clip0507

Ergebnis:

clip0508


COUNT( )

Listet die Anzahl der Datensätze pro Gruppe auf.

 

Ergebnis:

clip0509

 

MAX( )

Gibt pro Gruppe den Maximalwert aus.

 

Ergebnis:

clip0510

 

MIN( )

Gibt pro Gruppe den Minimalwert aus.

 

Ergebnis:

clip0511

SUM( )

Summiert die Werte einer Spalte innerhalb einer Gruppe.

 

Ergebnis:

clip0512

 

 

 

Fortsetzung des Beispiels Abfrage mehrerer Datenbank-Tabellen (Joins):

 

7.Klicken Sie die Datenbankabfrage an, um den SQL-Assistenten aufzurufen und klicken Sie dann bei Benutzerdefiniert auf add. Geben Sie dann in der neuen Zeile die Funktion "sum(Preis)" in Anführungszeichen an, um Werte im Datenfeld PREIS zu summieren. Wählen Sie nun daneben das Ziel-Datenfeld PREIS aus.

clip0513

8. Klicken Sie dann im SQL-Assistenten auf Schritt 3: Filter festlegen.
9.Um die Daten zu gruppieren, klicken Sie in der Bibliothek bei Virtuelle Tabellen mit Doppelklick auf #MODELLE und ziehen Sie das Datenfeld ID per Drag&Drop in den SQL-Assistenten in die zweite Zeile bei Gruppiere nach Spalte(n).

clip0514

10.Klicken Sie auf OK, um den SQL-Assistenten zu schließen.

 

 

Basiswissen: Virtuelle Tabellen, Datenbankabfragen