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 手動カプセル化ポップアップ ボックス コンポーネント メッセージ メソッド
Nginx は C 言語で開発されており、Linux で実行することをお勧めします。もちろん、Win...
この記事では、thinkphp5.1 + Vue+axiosを使用してファイルをアップロードする方法...
具体的なコードは次のとおりです。 HTMLコードは次のとおりです <div class=&qu...
目次背景問題分析1. 属性値はJson形式であり、Json操作関数を使用して処理する必要があります。...
背景今日、CodePen を閲覧していたところ、非常に興味深い効果を見つけました。 CodePen ...
目次1. 親コンポーネントと子コンポーネント間の一方向の値転送1. 親から子への値の受け渡し2. 子...
導入この記事は、 React + antdをベースにして、完全な全屏demoを紹介します。その理由は...
ハイパーリンクは、Web サイト上のすべてのページがハイパーリンクで接続され、ページ間を移動できるた...
ボリュームとは何ですか?ボリュームは英語で容量を意味し、Docker ではデータ ボリューム、つまり...
目次コンセプト紹介論理的ルール完全なコード主な実装コンセプト紹介セルオートマトンとは、コンピュータの...
1. 時間差関数(TIMESTAMPDIFF、DATEDIFF) MySQLを使用して時間差を計算...
目次1. 効果2. メインコード1. 効果機能: インターフェイスから取得したデータを使用してオプシ...
この記事では、LinuxでMySQL 8.0をインストールする方法を紹介します。具体的な内容は次のと...
目次クラスコンポーネントのプロパティ比較浅い同等の浅い比較機能コンポーネントの簡単な比較先週面接に行...
この記事では、MySQL マスター/スレーブ データベースの構築方法について説明します。ご参考までに...