14th May 2024 6 Leseminuten Die SQL-Funktion MIN() Jill Thornhill Aggregatfunktionen Inhaltsverzeichnis Beispieldaten Einfache Beispiele für die SQL-Funktion MIN() Beispiel 1: Einfache MIN()-Funktion Beispiel 2: Verwendung von MIN() mit anderen Aggregatfunktionen Beispiel 3: Verwendung von MIN() mit einem arithmetischen Ausdruck Nicht-Standardbeispiele für die MIN()-Funktion Beispiel 4: Verwendung von MIN() für Datums-/Datumszeitspalten Beispiel 5: Verwendung der SQL-Funktion MIN() für Textspalten Verwendung der SQL-Funktion MIN() mit GROUP BY Verwendung der MIN()-Funktion in HAVING Wirken sich Nullwerte auf die MIN()-Funktion aus? Weiter mit der MIN()-Funktion von SQL SQL verfügt über eine Vielzahl von leistungsstarken Aggregatwerkzeugen, darunter die SQL-Funktion MIN(). Dieser Artikel ist eine Kurzanleitung zum Extrahieren und Verwenden von Mindestwerten in Ihren Abfragen. In der heutigen hart umkämpften Geschäftswelt ist es von entscheidender Bedeutung, die Daten Ihres Unternehmens effektiv analysieren zu können, um fundierte Entscheidungen zu treffen. Mit den Aggregatfunktionen von SQL können Sie alle Arten von statistischen Analysen mit Ihren Daten durchführen. Dieser Artikel ist ein Referenzhandbuch für die SQL-Funktion MIN(), die das kleinste Element aus einer Datenspalte extrahiert. Wenn Sie neu in SQL sind, könnte unser interaktiver Kurs SQL für Anfänger für Sie interessant sein. Ausgehend von der Anfängerstufe werden Sie die nützlichsten Funktionen von SQL beherrschen. Sie lernen die Konzepte relationaler Datenbanken kennen und erfahren, wie Sie Daten extrahieren und mithilfe von Gruppierungen und Aggregaten analysieren können. Sie stellen über Ihren Browser eine Verbindung zu einer Datenbank her und üben Ihre neuen Kenntnisse in 129 interaktiven Übungen. Die Dauer des Kurses beträgt etwa 10 Stunden. Kommen wir nun zurück zur Funktion MIN(). Sehen wir uns zunächst den Datensatz an. Beispieldaten Alle Beispiele in diesem Artikel verwenden die unten stehenden Daten, die eine Teilmenge der MySQL-Beispieldatenbank für Angestellte sind. Die Daten befinden sich in einer Tabelle namens employee_data. emp_nobirth_datefirst_namelast_namesalarydept_nameterm_date 100021984-06-02BezalelSimmel72527Sales2022-05-31 100041974-05-01ChirstianKoblick74057Production 100061973-04-20AnnekePreusig60098Development 100081978-02-19SaniyaKalloufi52668Development 100121980-10-04PatricioBridgland54794Development 100141976-02-12BerniGenin60598Development 100161981-05-02KazuhitoCappelletti77935Sales2020-12-31 Einfache Beispiele für die SQL-Funktion MIN() Beispiel 1: Einfache MIN()-Funktion Die Funktion MIN() extrahiert den Mindestwert aus einer Spalte. In ihrer einfachsten Form könnten Sie die folgende Abfrage verwenden, um die Frage zu beantworten: Wie viel verdient der am schlechtesten bezahlte Mitarbeiter jährlich? SELECT MIN(salary) FROM employee_data; Dies ergibt die folgenden Ergebnisse: min(salary) 52668 Beachten Sie, dass die Funktion MIN(), wie alle anderen SQL-Aggregate, immer von einem Spaltennamen in Klammern gefolgt wird. In diesem Beispiel durchsucht SQL die gesamte Tabelle und extrahiert den niedrigsten Wert für die genannte Spalte. Beispiel 2: Verwendung von MIN() mit anderen Aggregatfunktionen Sie können natürlich auch andere Aggregatfunktionen in Ihre Ergebnisse einbeziehen, etwa so: SELECT MIN(salary), MAX(salary), AVG(salary) FROM employee_data; Ihre Ergebnisse würden wie folgt aussehen: min(salary)max(salary)avg(salary) 526687793564668.143 Weitere Beispiele finden Sie unter SQL MIN() und MAX() Funktionen erklärt in 6 Beispielen. Beispiel 3: Verwendung von MIN() mit einem arithmetischen Ausdruck Sie können auch arithmetische Ausdrücke mit der Funktion MIN() verwenden. Wenn Sie das monatliche Mindestgehalt und nicht das jährliche Mindestgehalt abfragen möchten, würde Ihre Abfrage lauten: SELECT MIN(salary/12) AS min_monthly_salary FROM employee_data; Das Ergebnis für diese Abfrage ist: min_monthly_salary 4389 Nicht-Standardbeispiele für die MIN()-Funktion Beispiel 4: Verwendung von MIN() für Datums-/Datumszeitspalten Die Funktion MIN() funktioniert ebenso gut mit nicht-numerischen Daten. Sie kann mit Datums- und Datetime-Datentypen verwendet werden, um das früheste Datum oder die früheste Uhrzeit zu extrahieren. Wenn Sie das Geburtsdatum des jüngsten Mitarbeiters in der Firma finden möchten, würde Ihre Abfrage wie folgt aussehen: SELECT MIN(birth_date) FROM employee_data; Dies ergibt die folgenden Ergebnisse: min(birth_date) 20/4/1973 Beispiel 5: Verwendung der SQL-Funktion MIN() für Textspalten Für Zeichenketten-Datentypen wie CHAR, VARCHAR und TEXT extrahiert die SQL-Funktion MIN() den ersten Wert in alphabetischer Reihenfolge aus der Spalte. Wenn Sie den ersten Abteilungsnamen in alphabetischer Reihenfolge in der Tabelle employee_data Tabelle suchen, würde die Abfrage wie folgt lauten: SELECT MIN(dept_name) FROM employee_data Hier sind die Ergebnisse: min(dept_name) Development Sie werden feststellen, dass der Abteilungsname nur einmal in den Ergebnissen erscheint, obwohl mehrere Mitarbeiter zur Entwicklungsabteilung gehören. Verwendung der SQL-Funktion MIN() mit GROUP BY Die Funktion MIN() kann, wie alle SQL-Aggregatfunktionen, in Verbindung mit der GROUP BY-Klausel verwendet werden. Diese Klausel weist SQL an, ähnliche Zeilen zusammenzufassen und für jede Gruppe eine einzelne Zeile auszugeben. Wenn Sie zum Beispiel die Beispieldaten nach Abteilung gruppiert haben, würde Ihre Ergebnismenge eine Zeile für jede Abteilung enthalten. Wenn Sie mit der GROUP BY-Klausel und ihrer Verwendung noch nicht vertraut sind, helfen Ihnen vielleicht diese 5 Beispiele für GROUP BY. Wenn Sie die Funktion MIN() zusammen mit der Klausel GROUP BY verwenden, sehen Sie den Mindestwert in jeder Gruppe. Wenn Sie zum Beispiel das niedrigste Gehalt in jeder Abteilung sehen möchten, würde Ihre Abfrage wie folgt aussehen: SELECT dept_name, MIN(salary) FROM employee_data GROUP BY dept_name; Die Abfrageergebnisse würden wie folgt aussehen: dept_nameMIN(salary) Sales72527 Production74057 Development52668 Sie können auch die ORDER BY-Klausel verwenden. Wenn Sie die Ergebnisse in der Reihenfolge des Mindestgehalts haben möchten, würde Ihre Abfrage wie folgt aussehen: SELECT dept_name, MIN(salary) FROM employee_data GROUP BY dept_name ORDER BY MIN(salary); Die Ergebnismenge erscheint dann in der Reihenfolge des Mindestgehalts, vom niedrigsten zum höchsten: dept_nameMIN(salary) Development52668 Sales72527 Production74057 Wenn Sie das Gefühl haben, dass Sie etwas Übung mit der Gruppierung von Daten in SQL brauchen, finden Sie einige nützliche Übungen in 10 GROUP BY SQL-Praxis Übungen mit Lösungen. Verwendung der MIN()-Funktion in HAVING Sie können Aggregatfunktionen verwenden, um die Ergebnismenge zu filtern. Normalerweise werden Auswahlkriterien mit einer WHERE-Klausel definiert, aber Sie können WHERE nicht zum Filtern nach einem Aggregat verwenden. Stattdessen müssen Sie die HAVING-Klausel verwenden. Um alle Abteilungen zu finden, in denen das Mindestjahresgehalt größer als 60k ist, würde Ihre Abfrage wie folgt lauten: SELECT dept_name, MIN(salary) FROM employee_data GROUP BY dept_name HAVING MIN(salary) > 60000 ORDER BY MIN(salary); Beachten Sie, dass die HAVING -Klausel zusammen mit der GROUP BY -Klausel verwendet werden muss und dass sie nach der GROUP BY -Klausel, aber vor der ORDER BY-Klausel platziert wird. Die Ergebnisse sind: dept_nameMIN(salary) Sales72527 Production74057 Wirken sich Nullwerte auf die MIN()-Funktion aus? Die SQL-Funktion MIN() ignoriert bei der Berechnung des Minimums alle Zeilen, die einen Nullwert enthalten. Der zurückgegebene Wert ist daher der niedrigste Nicht-Null-Wert in der angegebenen Spalte. In den Beispieldaten haben nur zwei Zeilen Werte im Abschlussdatum. In allen anderen Zeilen ist diese Spalte auf NULL gesetzt. Wenn Sie nach dem Mindestbeendigungsdatum gesucht haben, sollten Sie den niedrigsten Wert erhalten, der nicht Null ist. Probieren wir es aus: SELECT MIN(term_date) FROM employee_data; Dies gibt das kleinste Datum zurück, wobei die Nullwerte ignoriert werden: MIN(term_date) 31/12/2020 Die Funktion MIN() würde nur dann einen NULL-Wert zurückgeben, wenn alle Werte in der Spalte NULL wären. Weiter mit der MIN()-Funktion von SQL Wir haben die Verwendungsmöglichkeiten von MIN() erkundet, aber Ihre Lernreise hat gerade erst begonnen; es gibt noch viel mehr zu entdecken! Eine kurze Anleitung zur Verwendung der SQL-Funktion MIN() finden Sie in diesen beiden Kochbüchern: How to Find the Minimum Value of a Column Zeilen mit dem Mindestwert finden Um ein Thema wirklich gut zu lernen, gibt es nichts Besseres als praktische Problemlösungen. Unser SQL-Praxis Kurs stellt Ihnen eine Reihe von Aufgaben, die denen in der realen Welt ähneln, und bietet Ihnen jederzeit Hilfe, wenn Sie nicht weiterkommen. Und schließlich bietet LearnSQL.de eine große Auswahl an Kursen, die Ihnen in jeder Phase Ihres Lernprozesses helfen sollen. Wenn Sie ernsthaft ein SQL-Experte werden wollen, empfehle ich Ihnen unseren Lernkurs SQL von A bis Z. Dieser Kurs besteht aus 7 interaktiven Kursen, die Sie von Anfängern bis hin zu fortgeschrittenen Funktionen führen. Machen Sie den nächsten Schritt und bringen Sie Ihre Karriere voran, indem Sie ein SQL-Experte werden! Tags: Aggregatfunktionen