Analyse des Prinzips und der Verwendung der kontinuierlichen MySQL-Aggregation

Analyse des Prinzips und der Verwendung der kontinuierlichen MySQL-Aggregation

Dieser Artikel veranschaulicht anhand von Beispielen das Prinzip und die Anwendung der kontinuierlichen MySQL-Aggregation. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Kontinuierliche Aggregation ist der Vorgang der Aggregation geordneter Daten in zeitlicher Reihenfolge.

In den folgenden Beispielen wird die Tabelle EmpOrders verwendet, um die Bestellmenge jedes Mitarbeiters jeden Monat zu speichern.

Führen Sie den folgenden Code aus, um die Tabelle EmpOrders zu erstellen und mit Beispieldaten zu füllen.

CREATE TABLE EmpOrders (
empid INT NICHT NULL,
Bestellmonat DATE NICHT NULL,
Menge INT NICHT NULL, Test
Primärschlüssel (empid, Bestellmonat)
);

Fragen Sie die Tabelle „order“ und die Tabelle „orderdetails“ ab und fügen Sie die Bestellungen für jeden Monat in die Tabelle „EmpOrder“ ein. Die SQL-Anweisung lautet wie folgt (der Trick besteht darin, nach Monat zu gruppieren):

INSERT INTO EmpOrders
SELECT a.employeeid,orderdate AS Bestelldatum,SUM(Menge) AS Menge
FROM bestellt eine
INNER JOIN Bestelldetails b
EIN a.Bestell-ID=b.Bestell-ID
GROUP BY employid,DATE_FORMAT(Bestelldatum,'%Y-m');

Nachfolgend sehen Sie die PHP-Datei, die Beispieldaten generiert

<?php
$sql = "INSERT INTO emporders SELECT %s,'%s-%02d-01',%s;".'<br />';
$insert_sql = '';
für($empid=1;$empid<=8;$empid++)
{
  für ($Jahr=2009;$Jahr<=2015;$Jahr++)
  {
    für ($Monat = 1; $Monat <= 12; $Monat++)
    {
      $num = rand(20,800);
      $insert_sql .= sprintf($sql,$empid,$jahr,$monat,$num);
    }
    $insert_sql .= '<br />';
  }
}
echo $insert_sql;

Folgendes ist ein Teil der Daten der Mitarbeiterauftragstabelle EmpOrder

Im Folgenden werden drei Probleme der kontinuierlichen Aggregation auf Grundlage der EmpOrders-Tabelle erläutert: kumulativ, gleitend und seit Jahresbeginn.

Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „Zusammenfassung der allgemeinen MySQL-Funktionen“, „MySQL-Protokolloperationskenntnisse“, „Zusammenfassung der MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“ und „Zusammenfassung der MySQL-Datenbanksperrenkenntnisse“.

Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist.

Das könnte Sie auch interessieren:
  • Nutzungs- und Leistungsoptimierungstechniken für die Aggregatfunktion „count“ in MySQL
  • Detaillierte Erläuterung der häufig verwendeten MySQL-Aggregatfunktionen
  • So fügen Sie bedingte Ausdrücke zu Aggregatfunktionen in MySql hinzu
  • php+mysql Open Source XNA-Aggregationsprogramm zum Download freigegeben
  • Mysql kann keine nicht aggregierten Spalten auswählen
  • Detaillierte Erläuterung von Beispielen für MySQL-Einzeltabellenabfragevorgänge [Syntax, Einschränkungen, Gruppierung, Aggregation, Filterung, Sortierung usw.]
  • Analyse der Verwendung von MySQL-Abfragesortierung und Abfrageaggregationsfunktionen
  • MySQL verwendet Aggregatfunktionen zum Abfragen einer einzelnen Tabelle
  • MySQL-Gruppierungsabfragen und Aggregatfunktionen
  • Optimieren der langsamen Abfrage von MySQL-Aggregatstatistikdaten

<<:  jQuery implementiert das Ausblenden und Anzeigen von HTML-Elementen

>>:  So verwenden Sie Celery und Docker zum Ausführen periodischer Aufgaben in Django

Artikel empfehlen

Beispiel für ein WeChat-Applet zum Erzielen des rotierenden Laterneneffekts

Vorwort In der täglichen Entwicklung stoßen wir h...

Detaillierte Erklärung der Vue px-zu-rem-Konfiguration

Inhaltsverzeichnis Methode 1 1. Konfigurations- u...

Ubuntu startet den Remote-Anmeldevorgang des SSH-Dienstes

SSH-Secure-Shell, ermöglicht sichere Remote-Anmel...

Drei Möglichkeiten zur Implementierung des Wasserfall-Flow-Layouts

Vorwort Als ich heute Xianyu durchsuchte, fiel mi...

Realisierung baumförmiger Sekundärtabellen auf Basis von Angular

Erster Blick auf die Wirkung: Code: 1.html <di...

So fügen Sie Codebeispiele für die Vim-Implementierung in Power Shell hinzu

1. Gehen Sie zur offiziellen Website von Vim, um ...

Detaillierte Erklärung der Lösung für das Nginx-Panikproblem

In Bezug auf das Nginx-Panikproblem müssen wir zu...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.21 winx64

Dieser Artikel fasst die Hinweise zur Installatio...

Lösung für die falsche Ausrichtung des Eingabecursors in Chrome, Firefox und IE

Detaillierte Erklärung zur Fehlplatzierung des Ein...

Implementierung der MySQL-Datentypkonvertierung

1. Problem Es gibt eine Tabelle wie unten gezeigt...

Lösen Sie das Problem verschwindender Docker-Images

1. Spiegelbilder verschwinden in 50 und 93 [root@...