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 手動カプセル化ポップアップ ボックス コンポーネント メッセージ メソッド
目次1 はじめに2 トリガーの紹介3 トリガーを作成する4 トリガーを表示5. トリガーの削除6 結...
鏡とは何ですか?イメージは、複数のイメージ レイヤー (UnionFS および AUFS ファイル ...
一般的なブラウザでテスト ページを開き、Fiddler で http リクエストを表示してください。...
JavaScript の hasOwnProperty() メソッドは、Object のプロトタイ...
今日は、ext3 や他の以前のファイル システムとの違いを含め、ext4 の歴史について説明します。...
1: Dockerプライベートウェアハウスのインストール1. イメージリポジトリからイメージをダウン...
先日、外国人の方がHTML+CSSを使ってHamburgerMenuを実装している動画を見ました。最...
現在、Docker には中国向けの公式ミラーがあります。詳細については、https://www.do...
による写真に示されている効果を例に挙げてみましょう。明らかに、「次へ」というテキストを水平方向だけで...
目次TypeScript環境の構築ステップ1: Taobaoミラーをダウンロードするステップ2: T...
--データベースに接続するとき、ホストとユーザーのマッチングルール公式ドキュメント: https:/...
一番外側の boxF は 120 度回転し、2 番目の boxS は -60 度回転し、3 番目の ...
設定手順Linux システム: CentOS-7.0 MySQL バージョン: 5.7.21 Lin...
HTML部分コードをコピーコードは次のとおりです。 <!DOCTYPE html> &l...
目次1. すべて選択2. 商品の数量を増やすか減らす3. 商品の小計を変更する4. 合計と合計額を計...