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

Implementierungsbeispiel für die Bereitstellung von Docker rocketmq

Inhaltsverzeichnis Vorbereitung Bereitstellungspr...

Im Mybatis MySQL-Löschvorgang kann nur die erste Datenmethode gelöscht werden

Insekten Wie in der Abbildung gezeigt, begann ich...

Detaillierte Erklärung der Anzeigeeigenschaft im CSS-Beschriftungsmodus

Der Code sieht folgendermaßen aus: <!DOCTYPE h...

Erste Schritte Tutorial für Anfänger ⑨: So erstellen Sie eine Portal-Website

Darüber hinaus wird eine mit einem Blog-Programm e...

Implementieren eines Einkaufswagens mit nativem JavaScript

In diesem Artikel wird der spezifische JavaScript...

Einführung in häufig verwendete MySQL-Befehle in der Linux-Umgebung

Geben Sie den MySQL-Befehl ein: mysql -u+(Benutze...

MySQL verwendet ein Limit, um die Beispielmethode für Paging zu implementieren

1. Grundlegende Implementierung des Limits Im All...

Workerman schreibt den Beispielcode des MySQL-Verbindungspools

Zunächst müssen Sie verstehen, warum Sie Verbindu...

Die Rolle von nextTick in Vue und mehrere einfache Anwendungsszenarien

Zweck Verstehen Sie die Rolle von nextTick und me...

Java importiert Daten aus Excel in MySQL

Manchmal müssen wir bei unserer tatsächlichen Arb...

So installieren Sie Elasticsearch und Kibana in Docker

Elasticsearch erfreut sich derzeit großer Beliebt...