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を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Dockerイメージを素早くデプロイして実行する最新のIDEAプロセスの詳細な説明
>>: Vue3 手動カプセル化ポップアップ ボックス コンポーネント メッセージ メソッド
この記事では、ローカル yum ソースを使用して CentOS 上に LAMP 環境を構築する方法に...
インデックスはソートされたデータ構造です。 where 条件での検索や order by 条件での並...
目次2. 目的2.1 オブジェクトにプロパティを追加する2.3 オブジェクトの複製2.4 複数のオブ...
テクノロジーの活用itext.jar: バイト ファイル入力ストリームを画像、PDF などに変換しま...
目次1. サンプルコード2. 現象を通して本質を見抜く3. 実施原則4. 親コンポーネントのコンパイ...
目次1. ソフトウェアとシステムイメージ2. 仮想マシンを作成する3. CentOS8をインストール...
成果を達成する実装コードhtml <div クラス = 'ラッパー'> ...
1. 構成デフォルトでは、最初の 2 つはチェックされていないので、チェックする必要があります。 (...
mysqlは時間のかかるSQLを記録しますMySQL は、最適化と分析のために、時間のかかる SQL...
タブバー: 異なるタブをクリックすると異なるコンテンツが表示され、クリックしたタブのスタイルが変更さ...
VMware ツールは VMware の使用に非常に便利です。そのため、VMware ツールをインス...
1. ショートカットCtrl + Shift + Pを使用してコンソールを呼び出します 2、「スニペ...
同僚から助けを求められました。バックエンド システムへのログインは成功したものの、システムには正常に...
目次バイト機能使用環境プロジェクトを構築する構成vite.config.ts tsconfig.js...
目次1. コマンド2. docker-compose.yml 3. Dockerファイル4. 直接変...