SQLは、隣接する2行のデータに対して加算、減算、乗算、除算の演算を実行します。

SQLは、隣接する2行のデータに対して加算、減算、乗算、除算の演算を実行します。

SQL は、データを特定の順序で並べ替え、特定のフィールドでグループ化した後、隣接する 2 つのデータ行に対して加算、減算、乗算、除算の演算を実行します。

アイデア:

1: まずテーブルデータをグループ化して並べ替え、シリアル番号でラベル付けします

2: 必要に応じてタグフィールドに1を加算/減算する

上記のコード:

個別の a.phone、from_unixtime(cast(floor(a.ts/1000) as bigint)、'yyyyMMdd HH:mm:ss'、cha を選択します。
表Aより
参加する 
(
 a.phone、a.ts、abs(a.ts-b.ts)/1000 cha を選択
 (電話、ts、row_number() を選択、(電話でパーティション、ts で順序付け)テーブルから順位付け)から
 左結合
 ( select phone,ts,rank-1 as rank from (select phone,ts,row_number() over(partition by phone order by ts ) rank from table) a ) b
 a.phone = b.phone かつ a.rank = b.rank の場合
)b
a.phone = b.phone かつ a.ts = b.ts の場合
ここで、a.phone は null ではなく、a.phone<>'';

表のデータは次のとおりです。

最初の列は電話、2番目の列は時間tsであり、同じ電話の2つの隣接するデータにかかる時間を計算する必要があります。

結果は以下のようになります。

3 列目は秒単位です。

補足知識: SQLは現在の行を前の2行のデータの合計と等しく実装します

SQL はフィボナッチ数列に似た関数を実装します。つまり、現在のデータは前の 2 つのデータの合計に等しくなります。詳細については、この記事の例を参照してください。

元のテーブル:

SQL ステートメント(ここでは JION ON の使い方をよく理解してください)

結果

隣接する2行のデータの加算、減算、乗算、除算を実行する上記のSQLは、エディターが皆さんと共有する内容のすべてです。皆さんの参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL データテーブルのパーティション戦略と利点と欠点の分析
  • 列の隣接する2つの行の差を計算するMySQLメソッド
  • MySqlで隣接データを取得する方法

<<:  Dockerイメージを素早くデプロイして実行する最新のIDEAプロセスの詳細な説明

>>:  Vue3 手動カプセル化ポップアップ ボックス コンポーネント メッセージ メソッド

推薦する

CentOS はローカル yum ソースを使用して LAMP 環境を構築するグラフィック チュートリアル

この記事では、ローカル yum ソースを使用して CentOS 上に LAMP 環境を構築する方法に...

MySQLインデックスの基本構文

インデックスはソートされたデータ構造です。 where 条件での検索や order by 条件での並...

ES6 における Object.assign() の使い方の詳細な説明

目次2. 目的2.1 オブジェクトにプロパティを追加する2.3 オブジェクトの複製2.4 複数のオブ...

HTMLからPDFへのスクリーンショット保存機能の実装

テクノロジーの活用itext.jar: バイト ファイル入力ストリームを画像、PDF などに変換しま...

Vueスロットの実装原理についての簡単な説明

目次1. サンプルコード2. 現象を通して本質を見抜く3. 実施原則4. 親コンポーネントのコンパイ...

Centos8 システムの VMware インストール チュートリアル図 (コマンド ライン モード)

目次1. ソフトウェアとシステムイメージ2. 仮想マシンを作成する3. CentOS8をインストール...

CSS3 カウントダウン効果

成果を達成する実装コードhtml <div クラス = 'ラッパー'> ...

Tomcatのサーバーオプションの詳細な説明

1. 構成デフォルトでは、最初の 2 つはチェックされていないので、チェックする必要があります。 (...

時間のかかるMySQLレコードのSQL例の詳細な説明

mysqlは時間のかかるSQLを記録しますMySQL は、最適化と分析のために、時間のかかる SQL...

タブバーの切り替え効果を実現するJavaScript

タブバー: 異なるタブをクリックすると異なるコンテンツが表示され、クリックしたタブのスタイルが変更さ...

VMware で VMware ツールをインストールしてもインストール ファイルが表示されない問題を解決する方法

VMware ツールは VMware の使用に非常に便利です。そのため、VMware ツールをインス...

vsCodeはワンクリックでvueテンプレートを生成します

1. ショートカットCtrl + Shift + Pを使用してコンソールを呼び出します 2、「スニペ...

nginxリバースプロキシによるセッション障害の問題の解決策

同僚から助けを求められました。バックエンド システムへのログインは成功したものの、システムには正常に...

プロジェクトを素早く構築するためのvite+vue3.0+ts+element-plusの実装

目次バイト機能使用環境プロジェクトを構築する構成vite.config.ts tsconfig.js...

Dockerでホストファイルをカスタマイズする方法について簡単に説明します

目次1. コマンド2. docker-compose.yml 3. Dockerファイル4. 直接変...