Heim > Datenbank > MySQL-Tutorial > Was nützt es, in MySQL zu haben?

Was nützt es, in MySQL zu haben?

WBOY
Freigeben: 2022-03-01 15:24:42
Original
30090 Leute haben es durchsucht

In MySQL wird die have-Klausel zum Filtern verschiedener Daten nach der Gruppierung verwendet. Sie wird normalerweise in Verbindung mit „group by“ verwendet. Diese Anweisung gleicht den Mangel aus, dass das Schlüsselwort where nicht in Verbindung mit Aggregatfunktionen verwendet werden kann.

Was nützt es, in MySQL zu haben?

Die Betriebsumgebung dieses Tutorials: Windows10-System, MySQL8.0.22-Version, Dell G3-Computer.

Was nützt „have“ in MySQL?

Der Grund für das Hinzufügen der HAVING-Klausel in SQL ist, dass das Schlüsselwort WHERE nicht mit Aggregatfunktionen verwendet werden kann. Mit der

HAVING-Klausel können wir jede Datengruppe nach der Gruppierung filtern.

SQL MIT Syntax

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;
Nach dem Login kopieren

Demodatenbank

In diesem Tutorial verwenden wir die RUNOOB-Beispieldatenbank.

Das Folgende sind die Daten, die aus der Tabelle „Websites“ ausgewählt wurden:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+
Nach dem Login kopieren

Das Folgende sind die Daten aus der Website-Zugriffsdatensatztabelle „access_log“:

mysql> SELECT * FROM access_log;
+-----+---------+-------+------------+
| aid | site_id | count | date       |
+-----+---------+-------+------------+
|   1 |       1 |    45 | 2016-05-10 |
|   2 |       3 |   100 | 2016-05-13 |
|   3 |       1 |   230 | 2016-05-14 |
|   4 |       2 |    10 | 2016-05-14 |
|   5 |       5 |   205 | 2016-05-14 |
|   6 |       4 |    13 | 2016-05-15 |
|   7 |       3 |   220 | 2016-05-15 |
|   8 |       5 |   545 | 2016-05-16 |
|   9 |       3 |   201 | 2016-05-17 |
+-----+---------+-------+------------+
9 rows in set (0.00 sec)
Nach dem Login kopieren

SQL HAVING-Instanz

Jetzt möchten wir Websites mit der Gesamtzahl der Besuche finden größer als 200.

Wir verwenden die folgende SQL-Anweisung:

SELECT Websites.name, Websites.url, SUM(access_log.count) AS nums FROM (access_log
INNER JOIN Websites
ON access_log.site_id=Websites.id)
GROUP BY Websites.name
HAVING SUM(access_log.count) > 200;
Nach dem Login kopieren

Führen Sie die obige SQL aus und das Ausgabeergebnis ist wie folgt:

Was nützt es, in MySQL zu haben?

Empfohlenes Lernen: MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas nützt es, in MySQL zu haben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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