Aggregationsfunktionen bestehen hauptsächlich aus: count,sum,min,max,avg,group_count()
#🎜 🎜# Konzentrieren wir uns zunächst auf die Funktion „group_count()“, gruppieren wir sie nach der durch „group by“ angegebenen Spalte, verbinden wir sie dann mit Trennzeichen und geben wir ein String-Ergebnis zurück. ???#🎜 🎜# 1: Verwenden Sie „distinct“, um doppelte Werte auszuschließen.
2: Wenn Sie die Ergebniswerte sortieren müssen, können Sie die Order-by-Klausel verwenden Wert, der Standardwert ist Komma.# 🎜🎜#2: Mathematische Funktion1:ABS(x) gibt den absoluten Wert von x zurück
2:CEIL( x) gibt den kleinsten Wert zurück, der größer oder gleich x ist. Ganzzahl (aufgerundet)
3:FLOOR(x) Gibt den größten Ganzzahlwert zurück, der kleiner oder gleich x ist (abgerundet)4:GREATEST(expr1 ,expr2...) Gibt den Maximalwert in der Liste zurück
5:LEAST(expr1,expr2....) gibt den Minimalwert der Liste zurück
6:MAX(x) gibt den Maximalwert zurück des Feldes x
10:POW(x,y) Gibt x hoch y zurück15:ucase(s) Upper(s) Konvertieren Sie die Zeichenfolge in Großbuchstaben11:RAND() Gibt eine Zufallszahl von 0 bis 1 zurück
14:substr(s,start,length) zurück. Fange den Teilstring der Länge von der Startposition ab of string s
12:ROUND(x) Gibt die nächste Ganzzahl zu x zurück (nach Rundung)
13:ROUND( x,y) Gibt die angegebene Anzahl von Dezimalstellen zurück (nach Rundung)
14: TRUNCATE(x,y) Gibt den beibehaltenen Wert x zurück auf y Stellen nach dem Komma (der größte Unterschied zu ROUND besteht darin, dass nicht gerundet wird) 1:char_length(s) Gibt die Anzahl der Zeichen im String s
2:character_length Gibt die Anzahl der Zeichen im String s
3:concat(s1,s2,s3) Strings s1, s2 und andere Strings zurück werden zu einer Zeichenfolge zusammengefasst. 5:field(s,s1,s2) gibt die erste Zeichenfolge zurück. Die Position von s in der Zeichenfolgenliste (s1, s2..)
6:length() gibt die Anzahl der Bytes zurück. Die Codierung von utf-8 in MySQL sind es drei Bytes für ein chinesisches Zeichen
7 :ltrim(s) entfernt die Leerzeichen am Anfang der Zeichenfolge s und entfernt die Leerzeichen auf der rechten Seite die Leerzeichen auf beiden Seiten.
8:mid(s,n,len) von string s Das Abfangen eines Teilstrings der Länge len an Position n ist dasselbe wie substring(s,n,len)
9: position(s1,in,s) Ermittelt die Startposition von s1 aus String s
10:replcae (s,s1,s2) Ersetze String s2 durch String s1 in String s
11:reverse(s) Kehrt die Reihenfolge der Zeichenfolge s um
12:right(s,n) Gibt die letzten n Zeichen der Zeichenfolge s zurück (nimm n Zeichen von rechts)
13:strcmp(s1,s2) Vergleicht die Zeichenfolgen s1 und s2, gibt 0 zurück, wenn s1 und s2 gleich sind, gibt 1 zurück, wenn s1>s2 Wenn s1 kleiner als s2 ist, gebe -1
# 🎜🎜#3:Datumsfunktion5:case-Ausdruck zurück, wenn Bedingung1, dann Ergebnis1, wenn Bedingung2, dann Ergebnis2, sonst bedeutet Ergebnis Ende Beginn der Fallfunktion, Ende bedeutet das Ende der Funktion. Wenn Bedingung1 wahr ist, wird Ergebnis1 zurückgegeben. Wenn Bedingung2 wahr ist, wird Ergebnis2 zurückgegeben. Wenn nicht alle wahr sind, wird das Ergebnis zurückgegeben. Wenn eines festgelegt ist, wird das Folgende zurückgegeben nicht ausgeführt werden.4:nullif(expr1,expr2) Vergleichen Sie zwei Zeichenfolgen und geben Sie null zurück, wenn die Zeichenfolgen expr1 und expr2 gleich sind. Andernfalls geben Sie expr1
1:unix_timestamp() gibt 1970-01-01 00:00:00 auf den aktuellen Millisekundenwert zurück
2:unix_timestamp(date_string) Konvertiert das angegebene Datum in einen Millisekundenwert-Zeitstempel
3:from_unixtime (bigint unixtime, string-format) Konvertiert den Millisekundenwert-Zeitstempel in das angegebene Format date
4:curdate() Gibt das aktuelle Datum zurück#🎜🎜 #5:current_date() Gibt das aktuelle Datum zurück
6:current_timestamp( ) Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück
7:datediff(d1,d2) Berechnet die Anzahl der Tage zwischen den Daten d1>d2, zB:datediff ('2022-01-01','2022-02-01')#🎜 🎜#8:currtime() gibt die aktuelle Uhrzeit zurück
9:date_format(d,f) zeigt das Datum d gemäß den Anforderungen von an Ausdruck f
4: Kontrollflussfunktion#🎜🎜 #
1:if(expr,v1,v2) Wenn der Ausdruck expr wahr ist, wird das Ergebnis zurückgegeben v1, andernfalls das Ergebnis zurückgeben v2
2:ifnull(v1,v2) Wenn der Wert von v1 ist. Wenn null, v1 zurückgeben, andernfalls v2 zurückgeben
3:isnull(expression) Bestimmen Sie, ob der Ausdruck null ist
5: Fensterfunktion
Die in MySQL8.0 hinzugefügte neue Fensterfunktion wird als Fensterfunktion bezeichnet relativ zu Aggregatfunktionen. Aggregationsfunktionen geben nach der Berechnung eines Datensatzes jeweils nur eine Datenzeile zurück. Fensteraggregationsfunktionen berechnen das Ergebnis eines bestimmten Feld in einem Datensatz können die Daten innerhalb des Fensterbereichs in die Aggregationsfunktion eingegeben werden, ohne die Anzahl der Zeilen zu ändern füge die Seriennummer hinzu
1: row_number()
2: rank()
3: Density_rank()
#🎜 🎜 Nr globale Sortierung5.2 Verteilungsfunktion
1:
percent_rank()
用途:每行按照公式(rank-1)/(row-1)进行计算.其中rank为rank()函数产生的序号,row为当前窗口的记录总行数
2:cume_dist()
Zweck: Die Anzahl der Zeilen in der Gruppe, die kleiner oder gleich dem aktuellen Rangwert/der Gesamtzahl der Zeilen in der Gruppe ist.
Anwendungsszenario: Fragen Sie den Anteil ab Gehalt, das kleiner oder gleich dem aktuellen Gehalt istSchreiben: select dname, ename,salary,cume_dist() over(order by Salary) as rn1,
cume_dist() over(partition by dname order by Salary) as rn2 vom Mitarbeiter;5.3 Vor- und Nachherfunktionen
1: lag( expr,n)
2: Lead(expr,n)Zweck: Gibt den Wert von expr zurück, der n Zeilen vor (lag liegt (exor,n)) oder n Zeilen nach (lead(expr,n)) der aktuellen Zeile
Anwendungsszenario: Fragen Sie die Differenz zwischen der Punktzahl des besten 1-Schülers und der Punktzahl des aktuellen Klassenkameraden ab (die aktuelle Zeile kann einen bestimmten Feldwert der vorherigen Datenzeile haben)
5.4 Kopf- und Schwanzfunktionen
1: erster_Wert(Ausdruck)
2: letzter_Wert(Ausdruck)Zweck: Den Wert von zurückgeben der erste (first_value(expr)) oder letzte (last_value(expr)) expr
Anwendungsszenario: Ab sofort nach Datum sortieren Gehalt des ersten und letzten Mitarbeiters abfragen5.5 Weitere Funktionen
1: nth_value(expr,n)
2: ntile(n)Zweck: Den n-ten Ausdruck im Fenster zurückgeben. Der Wert von expr kann ein Ausdruck oder ein Spaltenname sein
Anwendungsszenario: Ab dem aktuellen Gehalt den zweiten anzeigen oder drittes Gehalt jedes Mitarbeiters. select id,...,sum(salary) over(partition by dname order by Hiredate desc) as rn from Employee;Die Daten jeder Zeile von rn sind die Summe des Gehalts der aktuellen Zeile und jeder vorherigen Zeile
Wenn es keine Sortieranweisung gibt, werden alle Daten in der Gruppe standardmäßig summiert
Das obige ist der detaillierte Inhalt vonBeispielanalyse für die Verwendung von MySQL-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!