SQL implementiert Additions-, Subtraktions-, Multiplikations- und Divisionsoperationen auf zwei benachbarten Datenzeilen

SQL implementiert Additions-, Subtraktions-, Multiplikations- und Divisionsoperationen auf zwei benachbarten Datenzeilen

SQL implementiert Additions-, Subtraktions-, Multiplikations- und Divisionsoperationen auf zwei benachbarten Datenzeilen, nachdem die Daten in einer bestimmten Reihenfolge sortiert und nach bestimmten Feldern gruppiert wurden.

Ideen:

1: Tabellendaten zunächst gruppieren, sortieren und anschließend mit fortlaufenden Nummern beschriften

2: Bei Bedarf eine Einheit zum Tag-Feld hinzufügen/entfernen

Oben genannter Code:

wähle eindeutiges a.phone, from_unixtime (cast (floor (a.ts/1000) als bigint), 'yyyyMMdd HH:mm:ss'), cha
aus Tabelle a
verbinden 
(
 Wählen Sie a.phone,a.ts,abs(a.ts-b.ts)/1000 cha
 von (select phone,ts,row_number() über (partition by phone order by ts ) rank from table) a
 links beitreten
 (Wählen Sie Telefon, ts, Rang-1 als Rang aus (Wählen Sie Telefon, ts, Zeilennummer () über (Partition nach Telefon, Reihenfolge nach ts) Rang aus Tabelle) a) b
 auf a.phone = b.phone und a.rank = b.rank
) B
auf a.phone = b.phone und a.ts = b.ts
wobei a.phone nicht null ist und a.phone<>'';

Die Tabellendaten lauten wie folgt:

Die erste Spalte ist die Telefonnummer, die zweite die Zeit ts. Sie müssen die Zeit berechnen, die für jeweils zwei benachbarte Daten derselben Telefonnummer benötigt wird.

Das Ergebnis ist wie folgt:

Die dritte Spalte ist in Sekunden angegeben.

Zusatzwissen: SQL implementiert die aktuelle Zeile gleich der Summe der beiden vorherigen Datenzeilen

SQL implementiert eine Funktion ähnlich der Fibonacci-Folge, d. h. die aktuellen Daten sind gleich der Summe der beiden vorherigen Daten. Weitere Einzelheiten finden Sie im Beispiel in diesem Artikel.

Ursprüngliche Tabelle:

SQL-Anweisung (machen Sie sich hier mit der Verwendung von JION ON vertraut)

Ergebnis

Das obige SQL zum Implementieren von Additions-, Subtraktions-, Multiplikations- und Divisionsoperationen zweier benachbarter Datenzeilen ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, es kann Ihnen als Referenz dienen, und ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • MySQL-Datentabellenpartitionierungsstrategie und Vor- und Nachteileanalyse
  • Mysql-Methode zum Berechnen der Differenz zwischen zwei benachbarten Zeilen einer Spalte
  • So erhalten Sie benachbarte Daten in MySql

<<:  Detaillierte Erläuterung des neuesten IDEA-Prozesses zum schnellen Bereitstellen und Ausführen von Docker-Images

>>:  Vue3 manuelle Kapselung Popup-Box-Komponente Nachrichtenmethode

Artikel empfehlen

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.23

Dieser Artikel zeichnet das Installationstutorial...

So legen Sie Verknüpfungssymbole in Linux fest

Vorwort Durch das Erstellen von Verknüpfungen in ...

Das rel-Attribut des HTML-Link-Tags

Das <link>-Tag definiert die Beziehung zwis...

MySql legt die angegebenen Benutzerdatenbankansichtsabfrageberechtigungen fest

1. Neuen Benutzer anlegen: 1. Führen Sie eine SQL...

Zusammenfassung der Mysql Hochleistungsoptimierungsfähigkeiten

Datenbank-Befehlsspezifikation Alle Datenbankobje...

Detaillierte Erklärung des Parameters slave_exec_mode in MySQL

Heute habe ich zufällig den Parameter slave_exec_...

XHTML-Erste-Schritte-Tutorial: XHTML-Tags

Einführung in XHTML-Tags <br />Vielleicht is...

jQuery realisiert den Effekt der Sitzplatzauswahl und -reservierung im Theater

jQuery realisiert den Effekt der Sitzplatzauswahl...

Probleme und Lösungen bei der Installation von Docker in der Alibaba Cloud

Frage Bei der Installation von Docker mithilfe de...

Detailliertes Beispiel für die Datenmigration bei einem IOS-Datenbank-Upgrade

Detailliertes Beispiel für die Datenmigration bei...