Die mySQL Open-Source- Datenbank-Management- Software verwendet die Industrie-Standard- Structured Query Language für Daten-Transaktionen und die Pflege der Datenbank . Wie bei anderen SQL-Dialekten , mySQL bietet eine Reihe von Funktionen, die aggregierten statistischen Mathematik auf Gruppen von Daten durchzuführen. Sie können diese Funktionen mit Standard-Mathematik in Ihren Programmen mischen, aber nur unter bestimmten Bedingungen . Aggregatfunktionen
Obwohl die meisten mathematischen Funktionen in SQL Berechnungen führen Sie einen Datensatz zu einem Zeitpunkt , kehren Aggregatfunktionen Ergebnisse für alle Datensätze in einem Datensatz oder eine Gruppe von Datensätzen in einem Set. Zum Beispiel die " AVG ()" -Funktion nimmt den Durchschnitt der angegebene Feld für alle Datensätze zurückgegeben von einer "SELECT "-Anweisung , wie die folgende SQL-Code zeigt :
SELECT AVG ( total_sales ) FROM Kunden WHERE Zustand = ' NY ';
Diese Aussage zeigt die durchschnittliche Gesamtumsatz für alle Kunden im Staat New York . Es zeigt eine einzige Nummer. Sie können auch brechen Durchschnitte nach Bundesländern , wie in dieser Aussage :
SELECT Zustand , AVG ( total_sales ) FROM Kunden GROUP BY Zustand;
Dies zeigt eine Zeile pro Zustand , so dass die durchschnittlichen Verkaufspreise Figur für alle Kunden in den Staat.
Standard- Math
die Standard-Mathematik- Funktionen in MySQL gehören Addition, Subtraktion , Multiplikation und Division , Trigonometrie, Exponenten und einige andere. Für Felder in einer Tabelle , führt mySQL Mathe auf jeden Datensatz . Zum Beispiel, um den Gesamtumsatz für einen Auftrag Datensatz anzuzeigen , können Sie den Preis je Maßeinheit durch die Menge als dieser SQL-Anweisung zeigt bestellt multiplizieren :
SELECT unit_price , qty_ordered , unit_price * Anzahl Von Aufträge bestellt ;
Die folgende Anweisung SELECT nicht funktioniert, aber:
SELECT * unit_price qty_ordered , AVG ( unit_price ) FROM Bestellungen;
Die Anweisung versucht, Aggregatfunktionen und Standard-Mathematik in einer unangemessenen mischen Weg . Die AVG ()-Funktion gibt einen einzelnen Wert , obwohl die unit_price * qty_ordered Berechnung Tausende von Werten zurückgeben könnte . Sie können nicht beides haben in einer einzigen Anweisung .
Mixing Aggregate
Sie mehrere Aggregatfunktionen in einer einzigen SQL-Anweisung verwenden können. Das funktioniert, weil jedes Aggregat gibt einen einzelnen Wert . Zum Beispiel , wenn Sie die durchschnittliche , minimale und maximale Preise in einer Tabelle orders möchten, können Sie die folgende Anweisung verwenden :
SELECT AVG ( unit_price ), MIN ( unit_price ) , MAX ( unit_price ) FROM Bestellungen;
Mixing Aggregaten mit Standard- Felder und Funktionen
Sie mischen Aggregate mit Standard- Feldern durch die Gruppierung Datensätze zusammen , wie die folgende Aussage zeigt:
SELECT product_number , AVG ( unit_price ), MIN ( unit_price ) , MAX ( unit_price ) FROM Bestellungen GROUP BY product_number ;
Dies zeigt eine Zeile pro Produktnummer, zeigt das Produkt mit den Durchschnitts-, Mindest -und Höchstpreise .
SELECT product_number , cost_per_m /1000, AVG ( unit_price ), MIN ( unit_price ) , MAX ( unit_price ) : Sie können Standard-und Aggregatfunktionen solange Sie Datensätze zusammen , wie in der folgenden SQL-Code zu mischen FROM Bestellungen GROUP BY product_number ;
Diese Anweisung berechnet eine Single-Item Kosten auf einer " Kosten pro Mühle ", oder Kosten pro 1.000 Einheiten, und zeigt diese Zahl zusammen mit dem durchschnittlichen , minimalen und maximalen Preis. Sie können Standard-und Aggregatfunktionen mischen, wenn die Standard- Funktionen, um die Aggregate gelten , wie dieses Beispiel zeigt :
SELECT AVG ( unit_price ) , COUNT ( unit_price ) , AVG ( unit_price ) * COUNT ( unit_price ) FROM Bestellungen;
multipliziert der SELECT-Anweisung die Ergebnisse der AVG () und COUNT ()-Funktionen zusammen .