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

Natives JS zum Erreichen von Spezialeffekt-Meldungsfeldern

In diesem Artikel wird ein Nachrichtenfeld mit Sp...

So verwenden Sie JS zum Implementieren des Wasserfalllayouts von Webseiten

Inhaltsverzeichnis Vorwort: Was ist ein Wasserfal...

Vue3 kapselt seine eigene Paging-Komponente

In diesem Artikelbeispiel wird der spezifische Co...

So kennzeichnen Sie die Quelle und Herkunft von CSS3-Zitaten

Wegen der Epidemie werde ich zu Hause fast schimm...

Detaillierte Erläuterung der gleichzeitigen Parameteranpassung von MySQL

Inhaltsverzeichnis Abfrage-Cache-Optimierung Über...

JavaScript Canvas implementiert Grafiken und Text mit Schatten

Verwenden Sie Canvas, um Grafiken und Text mit Sc...

Zusammenfassung der Bootstrap-Lernerfahrung - Austausch von Designs im CSS-Stil

Aufgrund der Anforderungen des Projekts habe ich ...

Erste Schritte mit TS (TypeScript) im Vue-Projekt

Inhaltsverzeichnis 1. Einführung in Typescript 2....

Code zum Anzeigen des Inhalts eines TXT-Buchs auf einer Webseite

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

Spezifische Verwendung von CSS-Inhaltsattributen

Das Inhaltsattribut wird im Allgemeinen in den Ps...

Implementierung eines einfachen Chatroom-Dialogs basierend auf WebSocket

In diesem Artikel finden Sie den spezifischen Cod...