First. Kapitel 4Functions. Deterministische und nicht-deterministische Funktionen

Größe: px
Ab Seite anzeigen:

Download "First. Kapitel 4Functions. Deterministische und nicht-deterministische Funktionen"

Transkript

1 First Kapitel 4Functions 4 SQL-Funktionen Eine Funktion ist ein spezieller Typ von Befehl aus dem Befehlsvorrat von SQL, und jeder SQL-Dialekt implementiert diesen Befehlsvorrat anders. Im Grunde sind Funktionen Ein- Wort-Befehle, die einzelne Werte zurückliefern. Der Wert einer Funktion kann durch ihre Eingabeparameter festgelegt werden, wie beispielsweise bei einer Funktion, die den Durchschnitt aus einer Liste von Datenbankwerten ermittelt. Doch viele Funktionen verwenden gar keine Eingabeparameter, wie etwa die Funktion CURRENT_TIME, welche die aktuelle Systemzeit zurückliefert. Der ANSI-Standard unterstützt eine ganze Reihe nützlicher Funktionen. Dieses Kapitel behandelt diese Funktionen und gibt genaue Beschreibungen und Beispiele für jede Plattform an. Zusätzlich hat jede Datenbank eine lange Liste eigener, interner Funktionen, die nicht zum Standard-SQL gehören. Auch für diese internen Funktionen der verschiedenen Herstellerimplementierungen finden Sie in diesem Buch die Parameter und Beschreibungen. Außerdem ermöglichen die meisten Datenbankhersteller auch die Erstellung eigener, benutzerdefinierter Funktionen (User Defined Functions oder UDFs). Weitere Informationen über diesen Typ von Funktionen finden Sie unter dem Eintrag»CREATE/ALTER FUNCTION/PRO- CEDURE-Anweisung«in Kapitel 3. Arten von Funktionen Funktionen lassen sich auf verschiedene Weisen zu Gruppen zusammenfassen. Die folgenden Teilabschnitte beschreiben einige Unterscheidungsmerkmale, die wichtig zum Verständnis der Arbeitsweise von Funktionen sind. Deterministische und nicht-deterministische Funktionen Funktionen sind entweder deterministisch oder nicht-deterministisch. Eine deterministische Funktion liefert für dieselben Eingabewerte auch immer denselben Ausgabewert. Eine nichtdeterministische Funktion dagegen kann bei jedem Aufruf ein ganz anderes Ergebnis liefern, selbst wenn dieselben Eingabewerte übergeben wurden. 483

2 Links Warum ist es so wichtig, dass eine gegebene Eingabe immer dieselbe Ausgabe erzeugt? Wegen der Art und Weise, wie Funktionen in Views, benutzerdefinierten Funktionen und gespeicherten Prozeduren eingesetzt werden können. Zwar gibt es je nach Implementierung auch Einschränkungen, aber manchmal sind in dem Code, der solche Objekte definiert, nur deterministische Funktionen zulässig. So erlaubt zum Beispiel SQL Server die Erstellung eines Index auf einem Spaltenausdruck vorausgesetzt, dieser Ausdruck enthält keine nicht-deterministischen Funktionen. Da je nach Hersteller unterschiedliche Regeln und Restriktionen gelten, sollten Sie in die entsprechende Dokumentation schauen, wenn Sie mit Funktionen arbeiten. Aggregat- und Skalarfunktionen Man kann Funktionen auch danach einteilen, ob sie auf den Werten nur einer einzigen Zeile, auf den Werten einer Collection oder gleich auf mehreren Zeilen arbeiten. Aggregatfunktionen operieren auf einer Collection von Werten und geben einen einzigen, zusammenfassenden Wert zurück. Skalarfunktionen geben einen einzelnen Wert zurück, der auf skalaren Eingabeargumenten basiert. Manche Skalarfunktionen, wie etwa CURRENT_TIME, benötigen überhaupt keine Argumente. Window-Funktionen Window-Funktionen ähneln insofern den Aggregatfunktionen, als sie auf vielen Zeilen gleichzeitig operieren können. Der Unterschied besteht in der Weise, wie diese Zeilen definiert sind. Aggregatfunktionen arbeiten mit Zeilenmengen, die von einer GROUP BY-Klausel einer Abfrage ausgesucht wurden; mit Window-Funktionen dagegen wird für jeden Funktionsaufruf die Zeilenmenge angegeben, so dass verschiedene Aufrufe einer Funktion jeweils auf anderen Zeilenmengen ausgeführt werden. ANSI SQL-Aggregatfunktionen Aggregatfunktionen liefern einen einzelnen Wert, der auf einer Menge anderer Werte basiert. Werden sie zusammen mit anderen Ausdrücken in der Item-Liste einer SELECT-Anweisung verwendet, so muss diese SELECT-Anweisung eine GROUP BY- oder HAVING-Klausel haben. Die GROUP BY- oder HAVING-Klausel erübrigt sich, wenn die Aggregatfunktion der einzige Wert ist, den die SELECT-Anweisung abruft. Tabelle 4-1 zeigt, welche Aggregatfunktionen mit welcher Syntax unterstützt werden. Tabelle 4-1: ANSI SQL-Aggregatfunktionen Funktion Verwendung AVG(expression) Berechnet den Durchschnittswert einer Spalte, die durch expression vorgegeben wird. CORR(dependent, independent) Berechnet einen Korrelationskoeffizienten. COUNT(expression) Zählt die von expression vorgegebenen Zeilen. COUNT(*) Zählt alle Zeilen in der angegebenen Tabelle oder View. COVAR_POP (dependent, independent) Berechnet die Populations-Kovarianz. COVAR_SAMP(dependent, independent) Berechnet die Proben-Kovarianz. 484 Kapitel 4: SQL-Funktionen

3 Rechts TAB! Tabelle 4-1: ANSI SQL-Aggregatfunktionen (Fortsetzung) Funktion Verwendung CUME_DIST(value_list) WITHIN GROUP (ORDER BY sort_list) DENSE_RANK(value_list) WITHIN GROUP (ORDER BY sort_list) MIN(expression) MAX(expression) PERCENT_RANK(value_list) WITHIN GROUP (ORDER BY sort_list) PERCENTILE_CONT (percentile) WITHIN GROUP (ORDER BY sort_list) PERCENTILE_DISC (percentile) WITHIN GROUP (ORDER BY sort_list) RANK(value_list) WITHIN GROUP (ORDER BY sort_list) REGR_AVGX(dependent, independent) REGR_AVGY(dependent, independent) REGR_COUNT(dependent, independent) REGR_ INTERCEPT(dependent,independent) REGR_R2(dependent, independent) REGR_SLOPE(dependent,independent) REGR_SXX(dependent, independent) REGR_SXY(dependent, independent) REGR_SYY(dependent, independent) STDDEV_POP(expression) STDDEV_SAMP(expression) SUM(expression) VAR_POP(expression) VAR_SAMP(expression) Berechnet den relativen Rang einer hypothetischen Zeile in einer Gruppe von Zeilen, wobei der Rang gleich der Anzahl der Zeilen kleiner/gleich der hypothetischen Zeile dividiert durch die Anzahl der Zeilen in der Gruppe ist. Generiert einen dichten Rang (es werden keine Ränge übergangen) für eine hypothetische Zeile (value_list) in einer von GROUP BY angelegten Zeilengruppe Findet den kleinsten Wert in einer durch expression vorgegebenen Spalte. Findet den größten Wert in einer durch expression vorgegebenen Spalte. Generiert einen relativen Rang für eine hypothetische Zeile, indem es den Rang dieser Zeile minus 1 durch die Anzahl der Zeilen in der Gruppe dividiert. Generiert einen interpolierten Wert, der, wenn man ihn zu der Gruppe hinzufügte, dem angegebenen percentile entspräche. Liefert den Wert mit dem kleinsten kumulativen Distributionswert größer/gleich percentile. Generiert einen Rang für eine hypothetische Zeile (value_list) in einer Gruppe von Zeilen, die durch GROUP BY angelegt wurde. Berechnet den Durchschnitt der unabhängigen Variablen. Berechnet den Durchschnitt der abhängigen Variablen. Errechnet, wie viele Paare in der Gruppe verbleiben, nachdem ein Paar mit einem oder mehreren NULL-Werten eliminiert wurde. Berechnet den y-abschnitt der linearen Gleichung zur Kleinste-Quadrate-Methode. Berechnet das Quadrat des Korrelationskoeffizienten. Berechnet die Steigung der linearen Gleichung zur Kleinste- Quadrate-Methode. Addiert die Quadrate der unabhängigen Variablen. Addiert die Produkte aller Variablenpaare. Addiert die Quadrate der abhängigen Variablen. Berechnet die Populations-Standardabweichung aller expression-werte in einer Gruppe. Berechnet die Proben-Standardabweichung aller expression- Werte in einer Gruppe. Berechnet die Summe der durch expression gegebenen Spaltenwerte. Berechnet die Varianz der Population für alle expression-werte in einer Gruppe. Berechnet die Probenvarianz für alle expression-werte in einer Gruppe. Funktionen ANSI SQL-Aggregatfunktionen 485

4 Links Technisch gesehen sind ANY, EVERY und SOME Aggregatfunktionen, werden aber als Suchkriterien für Bereiche abgehandelt, da sie zumeist in dieser Weise eingesetzt werden. Weitere Informationen über diese Funktionen finden Sie im Eintrag»ALL/ANY/SOME (Operatoren)«in Kapitel 3. Die Anzahl der Werte, die von einer Aggregatfunktion verarbeitet werden, hängt davon ab, wie viele Zeilen von der Tabelle abgefragt wurden. Durch dieses Verhalten unterscheiden sich die Aggregat- von den Skalarfunktionen, die pro Aufruf immer nur auf den Werten einer einzigen Zeile arbeiten können. Die allgemeine Syntax einer Aggregatfunktion lautet: aggregate_function_name ( [ALL DISTINCT] expression ) Die Aggregatfunktion kann AVG, COUNT, MAX, MIN oder SUM heißen, wie in Tabelle 4-1 angegeben. Das Schlüsselwort ALL, das zugleich das Standardverhalten darstellt, wertet alle Zeilen aus, wenn der Wert einer Funktion aggregiert wird. Das Schlüsselwort DISTINCT dagegen verwendet bei der Auswertung der Funktion nur unterschiedliche Werte. Alle Aggregatfunktionen außer COUNT(*) ignorieren NULL-Werte bei der Berechnung ihres Ergebnisses. AVG und SUM Die Funktion AVG berechnet den Durchschnitt von Werten in einer Spalte oder einem Ausdruck, und SUM berechnet die Summe. Beide Funktionen arbeiten mit numerischen Werten und ignorieren NULL-Werte. Wenn Sie den Mittelwert oder die Summe nur für verschiedene Werte in einer Spalte oder einem Ausdruck ermitteln möchten, verwenden Sie das Schlüsselwort DISTINCT. SQL-Standardsyntax AVG ([ALL DISTINCT] expression ) SUM ([ALL DISTINCT] expression ) MySQL, PostgreSQL und SQL Server Alle diese Hersteller unterstützen die SQL2003-Syntax von AVG und SUM. DB2 und Oracle DB2 und Oracle unterstützen die ANSI-Syntax und zusätzlich folgende analytische Syntax: AVG ([ALL DISTINCT] expression ) OVER (window_clause) SUM ([ALL DISTINCT] expression ) OVER (window_clause) Eine Erklärung der window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. Beispiele Die folgende Abfrage berechnet den bisherigen Durchschnittsumsatz dieses Jahres für jede Buchsorte: SELECT type, AVG( ytd_sales ) AS "average_ytd_sales" FROM titles GROUP BY type; 486 Kapitel 4: SQL-Funktionen

5 Rechts TAB! Diese Abfrage liefert für jede Buchsorte die Summe der Umsätze dieses Jahres: SELECT type, SUM( ytd_sales ) FROM titles GROUP BY type; CORR Die Funktion CORR liefert den Korrelationskoeffizienten zwischen einer Menge von abhängigen und unabhängigen Variablen. SQL2003-Syntax Ruft die Funktion mit einer abhängigen und einer unabhängigen Variablen auf: CORR( dependent, independent ) Jedes Variablenpaar, in dem eine oder beide Variablen NULL sind, wird ignoriert. Die Funktion ergibt NULL, wenn kein Variablenpaar der Eingabe aus zwei von NULL verschiedenen Werten besteht. Oracle Oracle unterstützt die SQL2003-Syntax und folgende analytische Syntax: CORR (dependent, independent) OVER (window_ clause) Eine Erklärung der window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. DB2, MySQL, PostgreSQL und SQL Server Diese Hersteller unterstützen keine Form der CORR-Funktion. Beispiel Das folgende CORR-Beispiel verwendet die vom ersten SELECT angezeigten Daten: SELECT * FROM test2; Funktionen Y X SELECT CORR(y,x) FROM test2; CORR(Y,X) COUNT Die COUNT-Funktion zählt die Anzahl der Zeilen in einem Ausdruck. SQL2003-Syntax COUNT(*) COUNT( [ALL DISTINCT] expression ) COUNT 487

6 Links COUNT(*) Zählt alle Zeilen in der Zieltabelle, egal ob sie NULLen enthalten oder nicht. COUNT( [ALL DISTINCT] expression) Berechnet die Anzahl der Zeilen mit von NULL verschiedenen Werten in einer bestimmten Spalte oder einem Ausdruck. Durch das Schlüsselwort DISTINCT werden doppelt auftretende Werte ignoriert, und nur die Anzahl der unterschiedlichen Werte wird zurückgeliefert. ALL liefert alle von NULL verschiedenen Werte im Ausdruck und wird implizit zugrunde gelegt, wenn DISTINCT nicht angegeben ist. MySQL, PostgreSQL und SQL Server Alle diese Hersteller unterstützen die SQL2003-Syntax von COUNT. DB2 und Oracle DB2 und Oracle unterstützen die ANSI-Syntax und die folgende analytische Syntax: COUNT ({* [DISTINCT] expression}) OVER (window_clause) Eine Erklärung der window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. Beispiele Diese Abfrage zählt alle Zeilen in einer Tabelle: SELECT COUNT(*) FROM publishers; Die folgende Abfrage zählt, in wie vielen verschiedenen Ländern die Verlage sitzen: SELECT COUNT(DISTINCT country) "Count of Countries" FROM publishers COVAR_POP Die COVAR_POP-Funktion liefert die Kovarianz der Population von abhängigen und unabhängigen Variablen. SQL2003-Syntax Diese Funktion wird mit einer abhängigen und einer unabhängigen Variablen aufgerufen: COVAR_POP( dependent, independent) Die Funktion lässt Variablenpaare, in denen eine oder beide Variablen NULL sind, unbeachtet. Wenn nach der Ausschaltung von NULLen keine Zeilen in der Gruppe übrig bleiben, ist das Ergebnis der Funktion NULL. Oracle Oracle unterstützt die SQL2003-Syntax und implementiert die folgende analytische Syntax: COVAR_POP ( dependent, independent ) OVER (window_clause) Eine Erklärung der window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. 488 Kapitel 4: SQL-Funktionen

7 Rechts TAB! DB2 In DB2 heißt die Funktion CORRELATION. MySQL, PostgreSQL und SQL Server Diese Hersteller unterstützen keine COVAR_POP-Funktion. Beispiel Das folgende COVAR_POP-Beispiel nutzt die vom ersten SELECT abgefragten Daten: SELECT * FROM test2; Y X SELECT COVAR_POP(y,x) FROM test2; COVAR_POP(Y,X) COVAR_SAMP Die COVAR_SAMP-Funktion liefert die Proben-Kovarianz von abhängigen und unabhängigen Variablen. SQL2003-Syntax Diese Funktion wird mit einer abhängigen und einer unabhängigen Variablen aufgerufen: COVAR_SAMP( dependent, independent ) Die Funktion lässt Variablenpaare, in denen eine oder beide Variablen NULL sind, unbeachtet. Wenn keines der Eingabepaare aus zwei von NULL verschiedenen Werten besteht, ist das Ergebnis der Funktion NULL. Funktionen Oracle Oracle unterstützt die SQL2003-Syntax und implementiert die folgende analytische Syntax: COVAR_SAMP ( dependent, independent ) OVER (window_clause) Eine Erklärung der window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. DB2, MySQL, PostgreSQL und SQL Server Diese Hersteller unterstützen keine COVAR_SAMP-Funktion. Beispiel Das folgende COVAR_SAMP-Beispiel verwendet die vom ersten SELECT abgefragten Daten: SELECT * FROM test2; Y X COVAR_SAMP 489

8 Links SQL> SELECT COVAR_SAMP(y,x) FROM test2; COVAR_SAMP(Y,X) CUME_DIST Berechnet den relativen Rang einer hypothetischen Zeile in einer Gruppe von Zeilen wie folgt: (rows_preceding_hypothetical + rows_peered_with_hypothetical) / rows_in_group Der Wert von rows_in_group bezieht die hypothetische Zeile mit ein, die Sie beim Aufruf dieser Funktion vorschlagen. SQL2003-Syntax In der folgenden Syntax entsprechen sich die Positionen der Elemente von value_list und sort_list. Daher müssen beide Listen gleich viele Ausdrücke enthalten. CUME_DIST(value_list) WITHIN GROUP (ORDER BY sort_list) value_list ::= expression [,expression...] sort_list ::= sort_item [,sort_item...] sort_item ::= expression [ASC DESC] [NULLS FIRST NULLS LAST] Oracle Oracle hält sich an die SQL2003-Syntax und implementiert folgende analytische Syntax: CUME_DIST OVER ([partitioning] ordering ) Eine Erklärung der Klauseln partitioning und order finden Sie im Abschnitt»ANSI SQL-Window- Funktionen«weiter unten in diesem Kapitel. DB2, MySQL, PostgreSQL und SQL Server Diese Hersteller implementieren keine CUME_DIST-Aggregatfunktion. Beispiel Das folgende Beispiel ermittelt den relativen Rang der hypothetischen neuen Zeile (num=4, odd=1) in jeder Zeilengruppe von test4, wobei sich die Gruppen durch die Werte der Spalte ODD unterscheiden: SELECT * FROM test4; NUM ODD Kapitel 4: SQL-Funktionen

9 Rechts TAB! SELECT odd, CUME_DIST(4,1) WITHIN GROUP (ORDER BY num, odd) FROM test4 GROUP BY odd; ODD CUME_DIST(4,1)WITHINGROUP(ORDERBYNUM,ODD) In der Gruppe odd=0 kommt die neue Zeile hinter den drei Zeilen (0,0), (2,0) und (4,0). Sie ist mit sich selbst gleichrangig, also ihr eigener»peer«. Die Gruppe enthält insgesamt vier Zeilen, einschließlich der hypothetischen Zeile. Daher wird der relative Rang folgendermaßen berechnet: (3 vorhergehende + 1 Peer) / (3 in Gruppe + 1 hypothetische) = 4 / 4 = 1 In der Gruppe odd=1 folgt die neue Zeile auf die drei Zeilen (1,1), (3,1) und (3,1) (ein Duplikat). Wieder gibt es einen einzigen Peer, nämlich die hypothetische Zeile selbst. Die Anzahl der Zeilen in der Gruppe beträgt fünf, einschließlich der hypothetischen Zeile. Der relative Rang ist also: (3 vorhergehende + 1 Peer) / (4 in Gruppe + 1 hypothetische) = 4 / 5 =.8 DENSE_RANK Berechnet für eine von Ihnen angegebene hypothetische Zeile einen Rang in einer Gruppe. Dieser ist ein dichter Rang (dense rank). Dabei werden nie Ränge übergangen, selbst wenn eine Gruppe Zeilen mit dem gleichen Rang enthält. Funktionen SQL2003-Syntax In der folgenden Syntax entsprechen die Positionen der Elemente von value_list denen der Elemente von sort_list. Also müssen beide Listen gleich viele Ausdrücke aufweisen. DENSE_RANK(value_list) WITHIN GROUP (ORDER BY sort_list) value_list ::= expression [,expression...] sort_list ::= sort_item [,sort_item...] sort_item ::= expression [ASC DESC] [NULLS FIRST NULLS LAST] Oracle Oracle hält sich an die SQL2003-Syntax und implementiert die folgende analytische Syntax: DENSE_RANK() OVER ([partitioning] ordering ) Eine Erklärung zu den Klauseln partitioning und order finden Sie weiter unten in diesem Kapitel im Abschnitt»ANSI SQL-Window-Funktionen«. DENSE_RANK 491

10 Links DB2, MySQL, PostgreSQL und SQL Server Diese Hersteller implementieren keine DENSE_RANK-Aggregatfunktion, doch immerhin unterstützt DB2 DENSE_RANK als analytische Funktion. Siehe hierzu weiter unten in diesem Kapitel den Abschnitt»ANSI SQL-Window-Funktionen«. Beispiel Das folgende Beispiel ermittelt den dichten Rang der hypothetischen neuen Zeile (num=4, odd=1) in jeder Zeilengruppe von test4, wobei sich die Gruppen durch die Werte in der Spalte ODD unterscheiden: SELECT * FROM test4; NUM ODD SELECT odd, DENSE_RANK(4,1) WITHIN GROUP (ORDER BY num, odd) FROM test4 GROUP BY odd; ODD DENSE_RANK(4,1)WITHINGROUP(ORDERBYNUM,ODD) In der Gruppe odd=0 kommt die neue Zeile hinter (0,0), (2,0) und (4,0) und hat somit die Position 4. In der Gruppe odd=1 kommt die neue Zeile hinter (1,1), (3,1) und einem zweiten (3,1). Hier haben die beiden Vorkommen von (3,1) beide den Rang Nummer 2, so dass die neue Zeile Rang Nummer 3 bekommt. Das ist ein anderes Ergebnis als mit RANK. MIN und MAX MIN(expression) und MAX(expression) ermitteln den kleinsten und den größten Wert von expression (String, Datums- und Uhrzeitwert oder numerischer Wert) in einer Menge von Zeilen. DISTINCT oder ALL können mit diesen Funktionen zusammen verwendet werden, nehmen aber keinen Einfluss auf das Ergebnis. SQL2003-Syntax MIN( [ALL DISTINCT] expression ) MAX( [ALL DISTINCT] expression ) PostgreSQL und SQL Server Diese Hersteller unterstützen die SQL2003-Syntax von MIN und MAX. DB2 und Oracle DB2 und Oracle unterstützen die ANSI-Syntax und implementieren folgende analytische Syntax: 492 Kapitel 4: SQL-Funktionen

11 Rechts TAB! MIN ({ALL [DISTINCT] expression}) OVER (window_clause) MAX ({ALL [DISTINCT] expression}) OVER (window_clause) Eine Erklärung zur window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. MySQL MySQL unterstützt die SQL2003-Syntax von MIN und MAX und außerdem die Funktionen LEAST( ) und GREATEST( ), die dasselbe leisten. Beispiele Die folgende Abfrage findet den besten und schlechtesten Umsatz für alle Buchtitel auf Lager: SELECT MIN(ytd_sales), MAX(ytd_sales) FROM titles; Aggregatfunktionen werden oft in der HAVING-Klausel von Abfragen mit GROUP BY verwendet. Die folgende Abfrage sucht alle Kategorien (Arten) von Büchern, bei denen der Durchschnittspreis in der Kategorie mehr als $15,00 beträgt: SELECT type 'Category', AVG( price ) 'Average Price' FROM titles GROUP BY type HAVING AVG(price) > 15 PERCENT_RANK Generiert einen relativen Rang für eine hypothetische Zeile, indem es den Rang dieser Zeile minus 1 durch die Anzahl der Zeilen in der Gruppe dividiert. SQL2003-Syntax In der folgenden Syntax entsprechen die Werte der value_list ihrer Position nach den Werten der sort_ list. Daher müssen beide Listen gleich viele Ausdrücke enthalten. PERCENT_RANK(value_list) WITHIN GROUP (ORDER BY sort_list) Funktionen value_list ::= expression [,expression...] sort_list ::= sort_item [,sort_item...] sort_item ::= expression [ASC DESC] [NULLS FIRST NULLS LAST] Oracle Oracle hält sich an die SQL2003-Syntax und implementiert außerdem folgende Syntax: PERCENT_RANK() OVER ([partitioning] ordering) Eine Erklärung zu den Klauseln partitioning und order finden Sie weiter unten in diesem Kapitel im Abschnitt»ANSI SQL-Window-Funktionen«. DB2, MySQL, PostgreSQL und SQL Server Diese Hersteller implementieren keine PERCENT_RANK-Aggregatfunktion. PERCENT_RANK 493

12 Links Beispiel Das folgende Beispiel ermittelt den prozentualen Rang der hypothetischen neuen Zeile (num=4, odd=1) innerhalb jeder Zeilengruppe von test4, wobei die Gruppen anhand der Werte in der ODD- Spalte unterschieden werden: SELECT * FROM test4; NUM ODD SELECT odd, PERCENT_RANK(4,1) WITHIN GROUP (ORDER BY num, odd) FROM test4 GROUP BY odd; ODD PERCENT_RANK(4,1)WITHINGROUP(ORDERBYNUM,ODD) In der Gruppe odd=0 kommt die neue Zeile hinter (0,0), (2,0) und (4,0) und hat somit die Position 4. Der Rang berechnet sich zu (4th rank - 1)/3 rows = 100%. In der Gruppe odd=1 kommt die neue Zeile hinter (1,1), (3,1) und einem zweiten (3,1), hat aber auch hier den Rang 4. Der Rang für odd=1 berechnet sich zu: (4th rank - 1)/4 rows = 3/4 = 75%. PERCENTILE_CONT Generiert einen interpolierten Wert entsprechend einer von Ihnen angegebenen Perzentile. SQL2003-Syntax In der folgenden Syntax ist percentile eine Zahl zwischen null und eins: PERCENTILE_CONT(percentile) WITHIN GROUP (ORDER BY sort_list) sort_list ::= sort_item [,sort_item...] sort_item ::= expression [ASC DESC] [NULLS FIRST NULLS LAST] Oracle Oracle erlaubt nur einen einzigen Ausdruck in der ORDER BY-Klausel: PERCENTILE_CONT(percentile) WITHIN GROUP (ORDER BY expression) Außerdem gestattet Oracle die Verwendung von Window-Syntax: PERCENTILE_CONT (percentile) WITHIN GROUP (ORDER BY sort_list) OVER (partitioning) Erklärungen zur Partitionierung finden Sie unter»ansi SQL-Window-Funktionen«weiter unten in diesem Kapitel. 494 Kapitel 4: SQL-Funktionen

13 Rechts TAB! DB2, MySQL, PostgreSQL und SQL Server Diese Hersteller implementieren kein PERCENTILE_CONT. Beispiel Das folgende Beispiel gruppiert die Daten in test4 nach der Spalte namens odd und ruft PERCENTILE_CONT auf, um einen Wert für die 50 tel -Perzentile für jede Gruppe zurückzuliefern: SELECT * FROM test4; NUM ODD SELECT odd, PERCENTILE_CONT(0.50) WITHIN GROUP (ORDER BY NUM) FROM test4 GROUP BY odd; ODD PERCENTILE_CONT(0.50)WITHINGROUP(ORDERBYNUM) PERCENTILE_DISC Findet in einer Gruppe den Wert mit der geringsten kumulativen Distribution größer/gleich einer von Ihnen angegebenen Perzentile. Funktionen SQL2003-Syntax In der folgenden Syntax ist percentile eine Zahl zwischen null und eins: PERCENTILE_DISC(percentile) WITHIN GROUP (ORDER BY sort_list) sort_list ::= sort_item [,sort_item...] sort_item ::= expression [ASC DESC] [NULLS FIRST NULLS LAST] Oracle Oracle erlaubt nur einen einzigen Ausdruck in der ORDER BY-Klausel: PERCENTILE_DISC(percentile) WITHIN GROUP (ORDER BY expression) Außerdem gestattet Oracle folgende Window-Syntax: PERCENTILE_DISC (percentile) WITHIN GROUP (ORDER BY sort_list) OVER (partitioning) Im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel finden Sie eine Beschreibung von Partitionierung. PERCENTILE_DISC 495

14 Links DB2, MySQL, PostgreSQL und SQL Server Diese Hersteller implementieren kein PERCENTILE_DISC. Beispiel Das folgende Beispiel ähnelt dem von PERCENTILE_CONT, nur dass hier für jede Gruppe der Wert zurückgeliefert wird, der der 60 tel -Perzentile am nächsten kommt, sie aber nicht übersteigt: SELECT * FROM test4; NUM ODD SELECT odd, PERCENTILE_DISC(0.60) WITHIN GROUP (ORDER BY NUM) FROM test4 GROUP BY odd; PERCENTILE_CONT(0.50)WITHINGROUP(ORDERBYNUM) RANK Berechnet in einer Gruppe einen Rang für eine von Ihnen gelieferte hypothetische Zeile. Dabei handelt es sich nicht um einen dichten Rang. Wenn die Gruppe Zeilen mit gleichem Rang enthält, kann es sein, dass Ränge übersprungen werden. Wenn Sie einen dichten Rang berechnen möchten, müssen Sie die DENSE_RANK-Funktion verwenden. SQL2003-Syntax In der folgenden Syntax entsprechen die Elemente der value_list ihrer Position nach den Elementen der sort_list. Daher müssen beide Listen dieselbe Anzahl von Ausdrücken aufweisen. RANK(value_list) WITHIN GROUP (ORDER BY sort_list) value_list ::= expression [,expression...] sort_list ::= sort_item [,sort_item...] sort_item ::= expression [ASC DESC] [NULLS FIRST NULLS LAST] Oracle Oracle hält sich an die SQL2003-Syntax und implementiert die folgende analytische Syntax: RANK() OVER ([partitioning] ordering) Eine Erklärung der Klauseln partitioning und order finden Sie im Abschnitt»ANSI SQL-Window- Funktionen«weiter unten in diesem Kapitel. 496 Kapitel 4: SQL-Funktionen

15 Rechts TAB! DB2, MySQL, PostgreSQL und SQL Server Diese Hersteller implementieren die RANK-Aggregatfunktion nicht. Beispiel Das folgende Beispiel ermittelt den Rang der hypothetischen neuen Zeile (num=4, odd=1) in jeder Zeilengruppe von test4, wobei die Gruppen durch die Werte der Spalte odd unterschieden werden: SELECT * FROM test4; NUM ODD SELECT odd, RANK(4,1) WITHIN GROUP (ORDER BY num, odd) FROM test4 GROUP BY odd; ODD RANK(4,1)WITHINGROUP(ORDERBYNUM,ODD) In beiden Fällen hat die hypothetische neue Zeile den Rang 4. In der Gruppe odd=0 kommt die neue Zeile hinter (0,0), (2,0) und (4,0) und befindet sich somit an der Position 4. In der Gruppe odd=1 folgt die neue Zeile auf (1,1), (3,1) und einem zweiten Paar (3,1). Hier stehen also vor der neuen Zeile drei andere, so dass sie den Rang 4 bekommt. Vergleichen Sie dieses bitte mit dem Verhalten von DENSE_RANK. Funktionen Die REGR-Funktionen SQL2003 definiert eine ganze Familie von Funktionen, deren Namen mit REGR_ anfangen und die mit den verschiedenen Aspekten der linearen Regression zu tun haben. Diese Funktionen arbeiten im Kontext einer Regressionsgeraden nach der Kleinste-Quadrate-Methode. SQL2003-Syntax Im Folgenden geben wir die Syntax und eine kurze Beschreibung jeder REGR_-Funktion an: REGR_AVGX( dependent, independent ) Berechnet den Durchschnitt der independent-variablenwerte (wie in AVG(x)). REGR_AVGY( dependent, independent ) Berechnet den Durchschnitt der dependent-variablenwerte (wie in AVG(y)). REGR_COUNT( dependent, independent ) Ergibt die Anzahl der Zahlenpaare, die von NULL verschieden sind. REGR_INTERCEPT( dependent, independent ) Berechnet den y-abschnitt der Regressionsgeraden. Die REGR-Funktionen 497

16 Links REGR_R2( dependent, independent ) Berechnet den Koeffizient der Bestimmtheit. REGR_SLOPE( dependent, independent ) Berechnet die Steigung der Regressionsgeraden. REGR_SXX( dependent, independent ) Berechnet die Summe der Quadrate der unabhängigen Variablenwerte. REGR_SXY( dependent, independent ) Berechnet die Summe der Produkte für die Wertepaare. REGR_SYY( dependent, independent ) Berechnet die Summe der Quadrate der abhängigen Variablenwerte. Die REGR_-Funktionen arbeiten nur mit Zahlenpaaren, bei denen beide Werte von NULL verschieden sind. Zahlenpaare mit einem oder zwei NULL-Werten werden ignoriert. DB2 und Oracle DB2 und Oracle unterstützen die SQL2003-Syntax für alle REGR_-Funktionen. Zusätzlich erlaubt DB2 den Kurznamen REGR_ICPT an Stelle von REGR_INTERCEPT. Oracle unterstützt die folgende analytische Syntax: REGR_function ( dependent, independent ) OVER (window_clause) Eine Erklärung der window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. MySQL, PostgreSQL und SQL Server Diese Hersteller implementieren die REGR-Funktionsfamilie nicht. Beispiel Das folgende REGEXP_COUNT-Beispiel zeigt, dass jedes Paar mit einem oder zwei NULL-Werten ignoriert wird. Die Tabelle test3 enthält drei Paare von NULL verschiedener Zahlen und drei weitere Paare mit mindestens einem NULL-Wert: SQL> SELECT * FROM test3; Y X NULL NULL 4 NULL NULL Die REGR_COUNT-Funktion ignoriert die Paare mit NULL-Werten und zählt nur Paare, bei denen beide Werte von NULL verschieden sind: SELECT REGR_COUNT(y,x) FROM test3; REGR_COUNT(Y,X) Ebenso filtern auch die anderen REGR_-Funktionen Paare mit NULL-Werten heraus, bevor sie ihre Berechnungen durchführen. 498 Kapitel 4: SQL-Funktionen

17 Rechts TAB! STDDEV_POP Mit STDDEV_POP ermittelt man die Standardabweichung der Population in einer Gruppe von numerischen Werten. SQL2003-Syntax STDDEV_POP( numeric_expression ) DB2 und MySQL Hier müssen Sie die STDDEV-Funktion verwenden. In DB2 und MySQL liefert STDDEV die Standardabweichung der Population. PostgreSQL Dieser Hersteller bietet keine Funktion zur Ermittlung der Populations-Standardabweichung. Oracle Oracle unterstützt die Standardsyntax und die folgende analytische Syntax: STDDEV_POP (numeric_expression) OVER (window_clause) Eine Erklärung der window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. SQL Server Hier verwenden Sie bitte die STDEVP-Funktion. Beispiel Das folgende Beispiel berechnet die Populations-Standardabweichung für die Werte 1, 2 und 3: SELECT * FROM test; Funktionen X SELECT STDDEV_POP(x) FROM test; STDDEV_POP(X) STDDEV_SAMP Mit STDDEV_SAMP berechnet man die Proben-Standardabweichung in einer Gruppe numerischer Werte. SQL2003-Syntax STDDEV_SAMP( numeric_expression ) STDDEV_SAMP 499

18 Links Oracle Oracle unterstützt die Standardsyntax und außerdem die Funktion STDDEV, die fast wie STDDEV_ SAMP arbeitet, aber mit dem Unterschied, dass sie null als von NULL verschiedenen Wert zurückgibt, wenn in der Menge nur ein Wert vorhanden ist. Oracle kennt außerdem die analytische Syntax: STDDEV_SAMP (numeric_expression) OVER (window_clause) Eine Erklärung der window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. DB2 DB2 hat keine Funktion zur Berechnung der Proben-Standardabweichung. MySQL MySQL kennt ebenfalls keine Funktion zur Berechnung der Proben-Standardabweichung, verfügt aber über eine Funktion namens STDDEV, welche die Standardabweichung der Population zurückgibt. PostgreSQL Hier verwenden Sie STDDEV. SQL Server Hier verwenden Sie STDEV (nur ein D!). Beispiel Das folgende Beispiel berechnet die Proben-Standardabweichung für die Werte 1, 2 und 3: SELECT * FROM test; X SELECT STDDEV_SAMP(x) FROM test; STDDEV_SAMP(X) VAR_POP Mit VAR_POP berechnen Sie die Populationsvarianz in einer Wertemenge. SQL2003-Syntax VAR_POP( numeric_expression ) DB2 und PostgreSQL Diese Hersteller stellen keine Funktion zur Berechnung der Populationsvarianz zur Verfügung. 500 Kapitel 4: SQL-Funktionen

19 Rechts TAB! MySQL In MySQL verwenden Sie die VARIANCE-Funktion, um die Populationsvarianz zu ermitteln. Oracle Oracle unterstützt die Standardsyntax und folgende analytische Syntax: VAR_POP (numeric_expression) OVER (window_clause) Eine Erklärung der window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. SQL Server Hier verwenden Sie die VARP-Funktion. Beispiel Das folgende Beispiel berechnet die Populationsvarianz für die Werte 1, 2 und 3: SELECT * FROM test; X SELECT VAR_POP(x) FROM test; VAR_POP(X) VAR_SAMP Mit VAR_SAMP berechnet man die Probenvarianz einer Wertemenge. Funktionen SQL2003-Syntax VAR_SAMP( numeric_expression ) DB2 und PostgreSQL Mit VARIANCE( numeric_expression ) berechnet man die Probenvarianz. MySQL MySQL stellt keine Funktion zur Berechnung der Probenvarianz zur Verfügung. Es gibt zwar die Funktion VARIANCE, aber in MySQL liefert sie die Populationsvarianz. Oracle Oracle unterstützt die Standardsyntax. Sie können auch die VARIANCE-Funktion verwenden, die sich insofern von VAR_SAMP unterscheidet, als sie null (und nicht NULL) für Wertepaare mit nur einem einzigen Wert zurückliefert. Oracle unterstützt überdies die folgende analytische Syntax: VAR_SAMP (numeric_expression) OVER (window_clause) VAR_SAMP 501

20 Links Eine Erklärung der window_clause finden Sie im Abschnitt»ANSI SQL-Window-Funktionen«weiter unten in diesem Kapitel. SQL Server Hier verwendet man die VAR-Funktion. Beispiel Das folgende Beispiel berechnet die Proben-Standardabweichung für die Werte 1, 2 und 3: SELECT * FROM test; X SELECT VAR_SAMP(x) FROM test; VAR_SAMP(X) ANSI SQL-Window-Funktionen SQL2003 kennt eine window_clause in Aggregatfunktionsaufrufen, durch die diese Funktionen zu Window-Funktionen werden. Oracle und DB2 unterstützen ebenfalls diese Fensterfunktionssyntax. Dieser Abschnitt beschreibt die Verwendung der window_clause in Oracle und DB2. Oracle bezeichnet Window-Funktionen auch als analytische Funktionen. Window-Funktionen oder analytische Funktionen ähneln den normalen Aggregatfunktionen insofern, als sie auf mehreren Zeilen oder Zeilengruppen aus der von einer Abfrage zurückgegebenen Ergebnismenge operieren. Allerdings werden diese Zeilen nicht durch eine GROUP BY-Klausel, sondern durch Partitionierungs- und Fensterklauseln definiert. Die Reihenfolge innerhalb dieser Gruppen wird ferner durch eine Ordnungsklausel festgelegt, die jedoch lediglich die Funktionsauswertung betrifft und keinen Einfluss auf die Reihenfolge hat, in welcher die Zeilen von der Abfrage zurückgegeben werden. Window-Funktionen sind abgesehen von der ORDER BY-Klausel die Elemente einer Abfrage, die als Letzte in einer Abfrage ausgewertet werden. Wegen dieser nachträglichen Auswertung dürfen Window-Funktionen niemals in WHERE-, GROUP BY- oder HAVING-Klauseln benutzt werden. 502 Kapitel 4: SQL-Funktionen

21 Rechts Window-Funktionssyntax von SQL2003 SQL2003 gibt folgende Syntax für Window-Funktionen vor: FUNCTION_NAME(expr) OVER {window_name (window_specification)} TAB! window_specification ::= [window_name][partitioning][ordering][framing] partitioning ::= PARTITION BY value [, value...] [COLLATE collation_name] ordering ::= ORDER [SIBLINGS] BY rule [, rule...] rule ::= {value position alias} [ASC DESC] [NULLS {FIRST LAST}] framing ::= {ROWS RANGE} {start between} [exclusion] start ::= {UNBOUNDED PRECEDING unsigned-integer PRECEDING CURRENT ROW} between ::= BETWEEN bound AND bound bound ::= {start UNBOUNDED FOLLOWING unsigned-integer FOLLOWING} exclusion ::= {EXCLUDE CURRENT ROW EXCLUDE GROUP EXCLUDE TIES EXCLUDE NO OTHERS} Window-Funktionssyntax von Oracle Die Window-Funktionssyntax von Oracle lautet: FUNCTION_NAME(expr) OVER (window_clause) window_clause ::= [partitioning] [ordering [framing]] Funktionen partitioning ::= PARTITION BY value [, value...] ordering ::= ORDER [SIBLINGS] BY rule [, rule...] rule ::= {value position alias} [ASC DESC] [NULLS {FIRST LAST}] framing ::= {ROWS RANGE} {not_range begin AND end} not_range ::= {UNBOUNDED PRECEDING CURRENT ROW value PRECEDING} begin ::= {UNBOUNDED PRECEDING CURRENT ROW value {PRECEDING FOLLOWING}} end ::= {UNBOUNDED FOLLOWING CURRENT ROW value {PRECEDING FOLLOWING}} ANSI SQL-Window-Funktionen 503

22 Links Window-Funktionssyntax von DB2 Die Syntax von DB2 gleicht der von Oracle. Für OLAP sowie Ranking- und Nummerierfunktionen kennt DB2 die folgende Syntax: FUNCTION_NAME(expr) OVER (window_clause) window_clause ::= [partitioning] [ordering] partitioning ::= PARTITION BY (value [, value...]) ordering ::= {ORDER BY rule [, rule...] ORDER OF table_name} rule ::= {value position alias} [ASC DESC [NULLS {FIRST LAST}]] Um Aggregatfunktionen wie z.b. AVG als Window-Funktionen nutzen zu können, ermöglicht DB2 die Hinzufügung einer framing-klausel: FUNCTION_NAME(expr) OVER (window_clause) window_clause ::= [partitioning] [ordering [framing]] [all framing] all ::= RANGE UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING partitioning ::= PARTITION BY (value [, value...]) ordering ::= {ORDER BY rule [, rule...] ORDER OF table_name} rule ::= {value position alias} [ASC DESC [NULLS {FIRST LAST}]] framing ::= {ROWS RANGE} {group_start group_between group_end} group_start ::= {UNBOUNDED PRECEDING unsigned-integer PRECEDING CURRENT ROW} group_between ::= BETWEEN {UNBOUNDED PRECEDING unsigned_integer PRECEDING unsigned_integer FOLLOWING CURRENT ROW} AND {UNBOUNDED FOLLOWING unsigned_integer PRECEDING unsigned_integer FOLLOWING CURRENT ROW} group_end ::= UNBOUNDED FOLLOWING unsigned-integer FOLLOWING} Partitionierung Werden die Zeilen, auf denen man arbeitet, mit einer Partitionierungsklausel partitioniert, so ist dies das Gleiche, als verwendete man einen GROUP BY-Ausdruck mit einer normalen SELECT-Anweisung. Die Partitionierungsklausel nimmt eine Liste von Ausdrücken entgegen, die die Ergebnismenge in Gruppen einteilen. Anhand der folgenden Tabelle werden wir einige Beispiele dafür geben: SELECT * FROM odd_nums; NUM ODD Kapitel 4: SQL-Funktionen

23 Rechts TAB! Die folgenden Ergebnisse zeigen, was geschieht, wenn man nach ODD partitioniert. Die Summe der geraden Zahlen ist 2 (0+2) und die der ungeraden 4 (1+3). Die zweite Spalte der Ergebnismenge zeigt die Summe aller Werte der Partition an, zu der diese Zeile gehört. Dennoch werden alle einzelnen Zeilen zurückgegeben. Die Abfrage liefert summarische Resultate, aber im Kontext einzelner Zeilen: SELECT NUM, SUM(NUM) OVER (PARTITION BY ODD) S FROM ODD_NUMS; NUM S Wenn gar keine Partitionierungsklausel verwendet wird, werden alle Zahlen der NUM-Spalte für jede Rückgabezeile der Abfrage aufsummiert. Die ganze Ergebnismenge wird dabei als eine einzige, große Partition behandelt: SELECT NUM, SUM(NUM) OVER () S FROM ODD_NUMS; NUM S Funktionen Reihenfolge Die Reihenfolge der Zeilen, auf denen eine analytische Funktion arbeitet, geben Sie mit der Ordnungsklausel an. Doch diese analytische Ordnungsklausel sagt nichts über die Reihenfolge der Elemente in der Ergebnismenge aus. Um diese zu definieren, muss die ORDER BY-Klausel der Abfrage dienen. Die folgende Anwendung der FIRST_VALUE-Funktion von Oracle zeigt, wie sich verschiedene Reihenfolgen von Partitionen auswirken: SELECT NUM, SUM(NUM) OVER (PARTITION BY ODD) S, FIRST_VALUE(NUM) OVER (PARTITION BY ODD ORDER BY NUM ASC) first_asc, FIRST_VALUE(NUM) OVER (PARTITION BY ODD ORDER BY NUM DESC) first_desc FROM ODD_NUMS; NUM S FIRST_ASC FIRST_DESC ANSI SQL-Window-Funktionen 505

24 Links Die ORDER BY-Klauseln wirken sich also in Window-Funktionsaufrufen auf die Anordnung der Zeilen in den betreffenden Partitionen aus, wenn diese Funktionen ausgewertet werden. Somit ordnet ORDER BY NUM ASC Partitionen in aufsteigender Reihenfolge, so dass 0 die erste Zahl in der Partition mit den geraden und 1 die erste in der Partition mit den ungeraden Zahlen ist. ORDER BY NUM DESC hat den gegenteiligen Effekt. Die obige Abfrage zeigt auch einen anderen wichtigen Punkt auf: Mit Window- Funktionen kann man in derselben Abfrage viele Arten von Zusammenfassungen und Reihenfolgen erzielen. Gruppieren oder Window-Funktionen nutzen? Viele analytische Funktionen ermöglichen auch die Angabe eines virtuellen, beweglichen Fensters rund um eine Zeile in einer Partition, und zwar mit der framing-klausel. Solche beweglichen Fenster sind nützlich für laufende Berechnungen wie beispielsweise die Ermittlung einer laufenden Gesamtsumme. Das folgende Oracle-Beispiel verwendet die framing-klausel für die analytische Variante von SUM, um eine laufende Gesamtsumme der Werte der ersten Spalte zu berechnen. Da keine Partitionierungsklausel verwendet wird, operiert jeder Aufruf von SUM auf der gesamten Ergebnismenge. Die ORDER BY-Klausel sortiert die Zeilen für SUM in aufsteigender Reihenfolge nach den Werten von NUM, und die BETWEEN-Klausel (die Fensterklausel) sorgt dafür, dass jeder SUM-Aufruf auch NUM-Werte nur bis zur aktuellen Zeile einbezieht. Jeder nachfolgende SUM-Aufruf bezieht wiederum einen anderen NUM-Wert ein, und zwar der Reihe nach vom kleinsten NUM-Wert bis zum größten: SELECT NUM, SUM(NUM) OVER (ORDER BY NUM ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) S FROM ODD_NUMS; NUM S Dieses Beispiel ist etwas zu einfach, da die Reihenfolge der Ergebnismenge zufällig der Reihenfolge der laufenden Gesamtsumme entspricht. Das muss jedoch nicht unbedingt der Fall sein. Das folgende Beispiel generiert dieselben Ergebnisse, aber in einer anderen Reihenfolge. Hier sehen Sie, dass die laufenden Gesamtsummen zwar für jeden Wert von NUM passen, aber die Zeilen in einer anderen Anordnung als zuvor präsentiert werden. Die Reihenfolge in der Ergebnismenge ist völlig unabhängig von der Reihenfolge, die für Window-Funktionsberechnungen verwendet wird: SELECT NUM, SUM(NUM) OVER (ORDER BY NUM ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) S FROM ODD_NUMS ORDER BY NUM DESC; NUM S Kapitel 4: SQL-Funktionen

25 Liste der Window-Funktionen Rechts SQL2003 besagt, dass jede Aggregatfunktion auch als Window-Funktion einsetzbar ist. Oracle und DB2 halten sich im Großen und Ganzen daran: Hier können Sie jede Aggregatfunktion (jedenfalls jede dem Standard entsprechende) nehmen und mit der weiter oben beschriebenen Window-Funktionssyntax verwenden. Zusätzlich zu den Aggregatfunktionen definiert SQL2003 die nachfolgend beschriebenen Window-Funktionen. Diese werden derzeit nur von Oracle und DB2 implementiert. Alle Beispiele verwenden die nachfolgende Tabelle und ihre Daten; es handelt sich um eine Variation der ODD_NUMS-Tabelle, die bereits weiter oben zur Veranschaulichung von Partitionierung, Ordnung und Gruppierung eingesetzt wurde: SELECT * FROM test4; TAB! NUM ODD Die Oracle-spezifischen Window-Funktionen (für DB2 gibt es keine) finden Sie in den Listen unter»herstellerspezifische Erweiterungen«weiter unten in diesem Kapitel. CUME_DIST( ) Berechnet die kumulative Distribution oder den relativen Rang der aktuellen Zeile gegenüber anderen Zeilen in derselben Partition. Die Berechnung für eine gegebene Zeile lautet: Anzahl der vorausgehenden oder gleichgeordneten Zeilen / Anzahl der Zeilen in der Partition Da das Ergebnis für eine gegebene Zeile davon abhängt, wie viele Zeilen in derselben Partition vor ihr stehen, müssen Sie bei einem Aufruf dieser Funktion unbedingt eine ORDER BY-Klausel angeben. Funktionen SQL2003-Syntax CUME_DIST( ) OVER {window_name (window_specification)} DB2 DB2 unterstützt nicht die Window-Funktion CUME_DIST( ). Oracle Der framing-teil der Fenstersyntax ist bei Oracle nicht zulässig. Oracle verlangt die ordering-klausel: CUME_DIST( ) OVER ([partitioning] ordering) Beispiel Das folgende Oracle-Beispiel generiert mit CUME_DIST( ) einen relativen Rang für jede Zeile, geordnet nach NUM, nachdem die Daten nach ODD partitioniert wurden: SELECT NUM, ODD, CUME_DIST( ) OVER CUME_DIST( ) 507

26 Links (PARTITION BY ODD ORDER BY NUM) cumedist FROM test4; NUM ODD CUMEDIST Im Folgenden wird die Berechnung des Rangs einer Zeile erklärt, in der NUM=0: 1. Durch die ORDER BY-Klausel werden die Zeilen in der Partition folgendermaßen geordnet: NUM=0 NUM=2 NUM=4 2. Es gibt keine Zeilen vor NUM=0. 3. Nur eine Zeile ist ein Peer (eine gleichgeordnete Zeile) von NUM=0, und dies ist die NUM=0- Zeile selbst. Somit ist der Divisor Da die Partition insgesamt drei Zeilen hat, ist der Dividend Das Ergebnis von 1/3 ist 0,33 Periode, wie die Beispielausgabe zeigt. DENSE_RANK( ) Weist in einer Partition jeder Zeile, die in irgendeiner Weise geordnet sein sollte, einen Rang zu. Der Rang für eine gegebene Zeile wird berechnet, indem die Zeilen vor der betreffenden Zeile gezählt werden und zu dieser Summe 1 addiert wird. Zeilen mit gleichen ORDER BY-Werten haben denselben Rang. Anders als bei RANK( ) entstehen dadurch, dass zwei Zeilen denselben Rang haben, keine Lücken zwischen Rangnummern. SQL2003-Syntax DENSE_RANK( ) OVER {window_name (window_specification)} DB2 DB2 verlangt die ordering-klausel und gestattet keine framing-klausel: DENSE_RANK( ) OVER ([partitioning] ordering) Oracle Auch Oracle verlangt die ordering-klausel und gestattet keine framing-klausel: DENSE_RANK( ) OVER ([partitioning] ordering) Beispiel Vergleichen Sie bitte die Ergebnisse des folgenden Oracle-Beispiels mit denen aus dem Abschnitt über die RANK( )-Funktion: SELECT NUM, DENSE_RANK( ) OVER (ORDER BY NUM) rank FROM test4; 508 Kapitel 4: SQL-Funktionen

27 Rechts TAB! NUM RANK Die zwei Zeilen, in denen NUM=3 ist, haben beide den Rang 3. Die nächsthöhere Zeile hat den Rang 4. Da keine Rangnummern übersprungen werden, bezeichnet man dies als»dicht«besetzt. RANK( ) Weist jeder Zeile in einer Partition, die in irgendeiner Weise geordnet sein sollte, einen Rang zu. Der Rang einer Zeile wird berechnet, indem die Anzahl der ihr vorausgehenden Zeilen gezählt und 1 hinzuaddiert wird. Zeilen mit doppelten ORDER BY-Werten bekommen denselben Rang, was dazu führt, dass dahinter eine Nummer übersprungen wird. SQL2003-Syntax RANK( ) OVER {window_name (window_specification)} DB2 DB2 verlangt die ordering-klausel und erlaubt keine framing-klausel: RANK( ) OVER ([partitioning] ordering) Oracle Auch Oracle verlangt die ordering-klausel und erlaubt keine framing-klausel: RANK( ) OVER ([partitioning] ordering) Funktionen Beispiel Das folgende Oracle-Beispiel ermittelt anhand der NUM-Spalte eine Rangfolge für die Zeilen in der test4-tabelle: SELECT NUM, RANK( ) OVER (ORDER BY NUM) rank FROM test4; NUM RANK Da beide Zeilen mit NUM=3 denselben Rang 4 haben, bekommt die nächsthöhere Zeile den Rang 6. Der Rang 5 wird dabei übergangen. RANK( ) 509

28 Links PERCENT_RANK Berechnet den relativen Rang einer Zeile, indem es den Rang dieser Zeile minus 1 durch die Anzahl der Zeilen in der Partition, ebenfalls minus 1, dividiert: (rank - 1) / (rows - 1) Vergleichen Sie diese Berechnung bitte mit der für CUME_DIST. SQL2003-Syntax PERCENT_RANK( ) OVER ({window_name (window_specification)} DB2 DB2 unterstützt die Window-Funktion PERCENT_RANK( ) nicht. Oracle Oracle verlangt die ordering-klausel und erlaubt keine framing-klausel: PERCENT_RANK( ) OVER ([partitioning] ordering) Beispiel Das folgende Oracle-Beispiel weist Werten von NUM einen relativen Rang zu, wobei die Daten nach der ODD-Spalte partitioniert werden: SELECT NUM, ODD, PERCENT_RANK( ) OVER (PARTITION BY ODD ORDER BY NUM) cumedist FROM test4; NUM ODD CUMEDIST Der Rang einer Zeile mit NUM=2 wird wie folgt berechnet: 1. Zeile NUM=2 ist die zweite Zeile in ihrer Partition und hat somit Rang minus 1 ergibt den Divisor Der Dividend ist die Gesamtzahl der Zeilen in der Partition, also minus 1 ergibt den Dividend Das Ergebnis von 1/3 ist 0,33 Periode, wie im Beispiel gezeigt. ROW_NUMBER Weist jeder Zeile in einer Partition eine eindeutige Nummer zu. SQL2003-Syntax ROW_NUMBER( ) OVER ({window_name (window_specification)} 510 Kapitel 4: SQL-Funktionen

29 Rechts TAB! DB2 DB2 erlaubt keine framing-klausel; die ordering-klausel ist optional: ROW_NUMBER( ) OVER ([partitioning] [ordering]) Oracle Oracle verlangt die ordering-klausel und erlaubt keine framing-klausel: ROW_NUMBER( ) OVER ([partitioning] ordering) Beispiel SELECT NUM, ODD, ROW_NUMBER( ) OVER (PARTITION BY ODD ORDER BY NUM) cumedist FROM test4; NUM ODD CUMEDIST Skalarfunktionen von ANSI SQL Die Skalarfunktionen von ANSI SQL geben bei jedem Aufruf einen einzelnen Wert zurück. Der SQL-Standard stellt viele Skalarfunktionen zur Bearbeitung von Datums- und Uhrzeittypen, Strings und Zahlen sowie zur Abfrage von Systeminformationen wie beispielsweise dem aktuellen Benutzer oder Login-Namen zur Verfügung. Es gibt folgende Kategorien von Skalarfunktionen (siehe Tabelle 4-2): Funktionen Tabelle 4-2: Kategorien von Skalarfunktionen Funktionskategorie Erklärung Eingebaute Operationen auf Werten oder Einstellungen, die in der Datenbank vordefiniert sind. Oracle verwendet den Begriff»eingebaut«(built-in) für alle speziellen Funktionen, die Oracle zur Verfügung stellt und daher in sein DBMS»eingebaut«hat. Das ist eine andere Bedeutung als der hier verwendete Begriff der»eingebauten«funktionen. CASE und CAST Diese beiden Funktionen, die mit skalaren Eingabewerten arbeiten, bilden eine eigene Kategorie. CASE ersetzt die IF-THEN-Logik in SQL-Anweisungen, und CAST kann Werte von einem Datentyp in einen anderen konvertieren. Skalarfunktionen von ANSI SQL 511

30 Links Tabelle 4-2: Kategorien von Skalarfunktionen (Fortsetzung) Funktionskategorie Erklärung Datum und Uhrzeit Numerisch String Führt Operationen auf temporalen Datentypen aus und gibt Werte in einem temporalen Datentypformat zurück. Es gibt keine SQL2003-Funktion, die auf einem temporalen Datentyp arbeitet und ein temporales Ergebnis liefert. Die Funktion, die dem am nächsten kommt, ist EXTRACT (siehe»numerische Skalarfunktionen«weiter unten in diesem Kapitel): Sie arbeitet mit temporalen Werten und gibt numerische Werte zurück. Funktionen, die temporale Werte zurückliefern, aber nicht mit Argumenten arbeiten, werden weiter unten im Abschnitt»Eingebaute Skalarfunktionen«beschrieben. Führt Operationen auf numerischen Werten aus und gibt auch numerische Werte zurück. Führt Operationen auf Zeichen aus (z.b. CHAR, VARCHAR, NCHAR, NVARCHAR und CLOB) und gibt einen String oder numerischen Wert zurück. Eingebaute Skalarfunktionen Die eingebauten Skalarfunktionen in SQL2003 nennen die aktuelle Benutzer-Session und deren Merkmale, wie etwa ihre Berechtigungen. Eingebaute Skalarfunktionen sind fast immer nicht-deterministisch. Die Funktionen CURRENT_DATE, CURRENT_TIME und CURRENT_ TIMESTAMP in Tabelle 4-3 fallen in die Kategorie der Datums- und Uhrzeit-Funktionen. Obwohl die fünf Hersteller viele weitere Funktionen anbieten, die über die hier genannten hinausgehen, definiert der SQL-Standard nur die in Tabelle 4-3 aufgeführten Funktionen. Tabelle 4-3: Eingebaute Skalarfunktionen in ANSI SQL Funktion Verwendung CURRENT_DATE Liefert das aktuelle Datum. CURRENT_TIME Liefert die aktuelle Uhrzeit. CURRENT_ Liefert aktuelles Datum und aktuelle Uhrzeit. TIMESTAMP CURRENT_USER oder Gibt den derzeit aktiven Benutzer im Datenbankserver zurück. USER SESSION_USER Gibt die derzeit aktive Autorisierungs-ID zurück, wenn sich diese vom Benutzer unterscheidet. SYSTEM_USER Gibt den derzeit aktiven Benutzer auf Betriebssystemebene zurück. DB2 DB2 unterstützt von SQL2003 die eingebauten Skalarfunktionen CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER und USER. Die SQL2003- Skalarfunktionen CURRENT_ROLE, LOCAL_TIME, LOCAL_TIMESTAMP, SESSION_USER und SYSTEM_USER werden nicht unterstützt. MySQL MySQL unterstützt alle eingebauten Skalarfunktionen von SQL2003 zuzüglich Oracles Variante SYSDATE. Außerdem kennt MySQL NOW( ) als Synonym für CURRENT_TIMESTAMP. 512 Kapitel 4: SQL-Funktionen

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert. Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen Abfragen lassen sich längst nicht nur dazu benutzen, die gewünschten Felder oder Datensätze einer oder mehrerer Tabellen darzustellen. Sie können Daten auch nach bestimmten Kriterien zu Gruppen zusammenfassen

Mehr

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten. Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen

Mehr

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

SQL - Übungen Bearbeitung der Datenbank Personal (1)

SQL - Übungen Bearbeitung der Datenbank Personal (1) Bearbeitung der Datenbank Personal (1) 1. Abfragen einer einzigen Tabelle 1.1. Zeigen Sie alle Informationen an, die über die Kinder der Mitarbeiter gespeichert sind. 1.2. Zeigen Sie aus der Tabelle stelle

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

MIN oder MAX Bildung per B*Tree Index Hint

MIN oder MAX Bildung per B*Tree Index Hint E-Mail: rainer@lambertz-c.de Internet: http://www.lambertz-c.de MIN oder MAX Bildung per B*Tree Index Hint Zugegeben, der Trick Min- oder Maximalwerte per Index Hint zu ermitteln ist nicht neu. Gewöhnlich

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services

27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services 531 27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services Im zweiten Teil dieses Buches haben wir die Eigenschaften der Transact-SQL- Sprache in Bezug auf die Bearbeitung von operativen Daten gezeigt.

Mehr

Datenaufbereitung in SPSS. Daten zusammenfügen

Datenaufbereitung in SPSS. Daten zusammenfügen Daten zusammenfügen I. Fälle hinzufügen Diese Schritte müssen Sie unternehmen, wenn die Daten in unterschiedlichen Dateien sind; wenn also die Daten von unterschiedlichen Personen in unterschiedlichen

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

AZK 1- Freistil. Der Dialog Arbeitszeitkonten Grundsätzliches zum Dialog Arbeitszeitkonten AZK 1- Freistil Nur bei Bedarf werden dafür gekennzeichnete Lohnbestandteile (Stundenzahl und Stundensatz) zwischen dem aktuellen Bruttolohnjournal und dem AZK ausgetauscht. Das Ansparen und das Auszahlen

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard 1 von 6 102013 18:09 SharePoint 2013 Veröffentlicht: 16.07.2012 Zusammenfassung: Hier erfahren Sie, wie Sie einen KPI (Key Performance Indicator) mithilfe des PerformancePoint Dashboard Designer in SharePoint

Mehr

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr

Berechnung der Erhöhung der Durchschnittsprämien

Berechnung der Erhöhung der Durchschnittsprämien Wolfram Fischer Berechnung der Erhöhung der Durchschnittsprämien Oktober 2004 1 Zusammenfassung Zur Berechnung der Durchschnittsprämien wird das gesamte gemeldete Prämienvolumen Zusammenfassung durch die

Mehr

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

1 Lieferantenbewertung

1 Lieferantenbewertung 1 Lieferantenbewertung Mit Hilfe der Lieferantenbewertung können alle aktiven Lieferanten nach ISO Kriterien bewertet werden. Die zur Bewertung hinterlegten Faktoren können individuell vorgegeben werden.

Mehr

8 Access-Abfragen migrieren

8 Access-Abfragen migrieren Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 8 Access-Abfragen migrieren Mit der Migration der Tabellen Ihrer Anwendung zu einer SQL Server-Datenbank und dem Verknüpfen der SQL Server-Tabellen

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

Abfragen: Grundbausteine

Abfragen: Grundbausteine Abfragen: Grundbausteine Abfragen sollen gezielt Teile der Information wiedergeben. Das Ergebnis einer solchen Operation ist eine. Der Aufbau der Ergebnistabelle wird durch zwei Grundverfahren festgelegt:

Mehr

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH Funktionsbeschreibung Lieferantenbewertung von IT Consulting Kauka GmbH Stand 16.02.2010 odul LBW Das Modul LBW... 3 1. Konfiguration... 4 1.1 ppm... 4 1.2 Zertifikate... 5 1.3 Reklamationsverhalten...

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Summenbildung in Bauteiltabellen mit If Then Abfrage

Summenbildung in Bauteiltabellen mit If Then Abfrage Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle

Mehr

Leitfaden #1a. "zanox Publisher-Statistik" (next generation)

Leitfaden #1a. zanox Publisher-Statistik (next generation) Leitfaden #1a "zanox Publisher-Statistik" (next generation) Thema: Sortieren von Leads und Sales nach dem Bearbeitungsdatum (inklusive Abschnitt "Filterung nach Transaktionsstatus") 1/8 Leitfaden "Sortieren

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013 Access 2013 Susanne Weber 1. Ausgabe, 1. Aktualisierung, Juni 2013 Grundlagen für Anwender ACC2013 2 Access 2013 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren Sie was

Mehr

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY. SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend

Mehr

Multicheck Schülerumfrage 2013

Multicheck Schülerumfrage 2013 Multicheck Schülerumfrage 2013 Die gemeinsame Studie von Multicheck und Forschungsinstitut gfs-zürich Sonderauswertung ICT Berufsbildung Schweiz Auswertung der Fragen der ICT Berufsbildung Schweiz Wir

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN Wir wollen nun die Rechengesetze der natürlichen Zahlen auf die Zahlenmenge der ganzen Zahlen erweitern und zwar so, dass sie zu keinem Widerspruch mit bisher geltenden

Mehr

LEITFADEN ZUR SCHÄTZUNG DER BEITRAGSNACHWEISE

LEITFADEN ZUR SCHÄTZUNG DER BEITRAGSNACHWEISE STOTAX GEHALT UND LOHN Stollfuß Medien LEITFADEN ZUR SCHÄTZUNG DER BEITRAGSNACHWEISE Stand 09.12.2009 Seit dem Januar 2006 hat der Gesetzgeber die Fälligkeit der SV-Beiträge vorgezogen. So kann es vorkommen,

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Dokumentation. estat Version 2.0

Dokumentation. estat Version 2.0 Dokumentation estat Version 2.0 Installation Die Datei estat.xla in beliebiges Verzeichnis speichern. Im Menü Extras AddIns... Durchsuchen die Datei estat.xla auswählen. Danach das Auswahlhäkchen beim

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

ARCO Software - Anleitung zur Umstellung der MWSt

ARCO Software - Anleitung zur Umstellung der MWSt ARCO Software - Anleitung zur Umstellung der MWSt Wieder einmal beschert uns die Bundesverwaltung auf Ende Jahr mit zusätzlicher Arbeit, statt mit den immer wieder versprochenen Erleichterungen für KMU.

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

Adminer: Installationsanleitung

Adminer: Installationsanleitung Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Kurzeinführung Excel2App. Version 1.0.0

Kurzeinführung Excel2App. Version 1.0.0 Kurzeinführung Excel2App Version 1.0.0 Inhalt Einleitung Das Ausgangs-Excel Excel-Datei hochladen Excel-Datei konvertieren und importieren Ergebnis des Imports Spalten einfügen Fehleranalyse Import rückgängig

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

Kurzeinführung LABTALK

Kurzeinführung LABTALK Kurzeinführung LABTALK Mit der Interpreter-Sprache LabTalk, die von ORIGIN zur Verfügung gestellt wird, können bequem Datenmanipulationen sowie Zugriffe direkt auf das Programm (Veränderungen der Oberfläche,

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

4. Erstellen von Klassen

4. Erstellen von Klassen Statistik mit Tabellenkalkulation 4. Erstellen von Klassen Mit einem einfachen Befehl lässt sich eine Liste von Zahlen auf die Häufigkeit der einzelnen Werte untersuchen. Verwenden Sie dazu den Befehl

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014. inkl. zusätzlichem Übungsanhang K-W81-G-UA

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014. inkl. zusätzlichem Übungsanhang K-W81-G-UA Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014 Windows 8.1 Grundkurs kompakt inkl. zusätzlichem Übungsanhang K-W81-G-UA 1.3 Der Startbildschirm Der erste Blick auf den Startbildschirm (Startseite) Nach

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Der große VideoClip- Wettbewerb von Media Markt.

Der große VideoClip- Wettbewerb von Media Markt. Der große VideoClip- Wettbewerb von Media Markt. Zeig was du drauf hast! Am 1. Juli startet eine Aktion, wie sie die Schweiz noch nicht gesehen hat. Unter dem Motto Zeig was Du drauf hast! suchen wir den

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Daten sammeln, darstellen, auswerten

Daten sammeln, darstellen, auswerten Vertiefen 1 Daten sammeln, darstellen, auswerten zu Aufgabe 1 Schulbuch, Seite 22 1 Haustiere zählen In der Tabelle rechts stehen die Haustiere der Kinder aus der Klasse 5b. a) Wie oft wurden die Haustiere

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

1. Einführung. 2. Weitere Konten anlegen

1. Einführung. 2. Weitere Konten anlegen 1. Einführung In orgamax stehen Ihnen die gängigsten Konten des Kontenrahmens SKR03 und SKR04 zur Verfügung. Damit sind im Normalfall alle Konten abgedeckt, die Sie zur Verbuchung benötigen. Eine ausführliche

Mehr

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192. Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler

Mehr

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Second Steps in eport 2.0 So ordern Sie Credits und Berichte Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun

Mehr

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de 1. Herr Meier bekommt nach 3 Jahren Geldanlage 25.000. Er hatte 22.500 angelegt. Wie hoch war der Zinssatz? 2. Herr Meiers Vorfahren haben bei der Gründung Roms (753. V. Chr.) 1 Sesterze auf die Bank gebracht

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

12. Dokumente Speichern und Drucken

12. Dokumente Speichern und Drucken 12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten

Mehr

Inventur. Bemerkung. / Inventur

Inventur. Bemerkung. / Inventur Inventur Die beliebige Aufteilung des Artikelstamms nach Artikeln, Lieferanten, Warengruppen, Lagerorten, etc. ermöglicht es Ihnen, Ihre Inventur in mehreren Abschnitten durchzuführen. Bemerkung Zwischen

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr