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

Three.js-Beispielcode zur Implementierung des Tautropfen-Animationseffekts

Vorwort Hallo zusammen, hier ist der CSS-Assisten...

Eine kurze Diskussion über die MySQL-Optimierungslösung für große Tabellen

Hintergrund Die Menge neuer Daten in der Geschäft...

Probleme und Lösungen bei der Installation und Verwendung von VMware

Die virtuelle Maschine wird verwendet oder es kan...

Probleme mit Sperren in MySQL

Schlossklassifizierung: Aus der Granularität der ...

Verwendung des Linux-Lesebefehls

1. Befehlseinführung Der Lesebefehl ist ein integ...

Detaillierte Analyse von GUID-Anzeigeproblemen in Mongodb

Finden Sie das Problem Ich habe kürzlich den Spei...

Eine kurze Diskussion über Makrotasks und Mikrotasks in js

Inhaltsverzeichnis 1. Über JavaScript 2. JavaScri...

Lernen Sie die Grundlagen von nginx

Inhaltsverzeichnis 1. Was ist nginx? 2. Was kann ...

So unterstreichen Sie das A-Tag und ändern die Farbe vor und nach dem Klicken

Code kopieren Der Code lautet wie folgt: ein:link...

Tutorial zur Installation und Konfiguration von msmtp und mutt für Raspberry Pi

1. Installieren Sie mutt sudo apt-get install mut...