Heim > Datenbank > MySQL-Tutorial > Beispielanalyse für die Verwendung von MySQL-Funktionen

Beispielanalyse für die Verwendung von MySQL-Funktionen

WBOY
Freigeben: 2023-05-31 22:07:04
nach vorne
1117 Leute haben es durchsucht

MYSQL-Funktion

1: Aggregationsfunktion

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 Funktion

1: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

7:MIN(x) gibt das Feld zurück. Der Mindestwert von x

8:MOD(x,y) gibt den Rest nach der Division von x durch y zurück

9:PI() gibt pi zurück (3.141593)
10:POW(x,y) Gibt x hoch y zurück

11:RAND() Gibt eine Zufallszahl von 0 bis 1 zurück
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

14:substr(s,start,length) zurück. Fange den Teilstring der Länge von der Startposition ab of string s
15:ucase(s) Upper(s) Konvertieren Sie die Zeichenfolge in Großbuchstaben

16:lcase(s) Lower(s) Konvertieren Sie die Zeichenfolge in Kleinbuchstaben

# 🎜🎜#3:Datumsfunktion



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

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
5: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.

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 Sortierung

Beispielanalyse für die Verwendung von MySQL-Funktionen

5.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 ist

Schreiben: 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;

Beispielanalyse für die Verwendung von MySQL-Funktionen

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)

Beispielanalyse für die Verwendung von MySQL-Funktionen

Beispielanalyse für die Verwendung von MySQL-Funktionen

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 abfragen

Beispielanalyse für die Verwendung von MySQL-Funktionen

5.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;

Beispielanalyse für die Verwendung von MySQL-FunktionenDie 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

Beispielanalyse für die Verwendung von MySQL-Funktionen

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage