ホームページ  >  記事  >  データベース  >  隣接する 2 つのレコード間の時間差の SQL 比較

隣接する 2 つのレコード間の時間差の SQL 比較

jacklove
jackloveオリジナル
2018-06-14 16:14:064629ブラウズ

午後、プロジェクトで統計レポートが生成されていることがわかりました。このレポートでは、隣接する 2 つのレコード間の統計的な時間差が XX テーブルに記録されています。これは

テーブル内のデータは次のとおりです:


2 つの隣接するレコードが 1 番目のレコードと同じである必要があります 2 番目のレコードの作成時間の差が計算されます

これは

1:

SQLコード

選択

t.username,(隣接する 2 つのレコード間の時間差の SQL 比較max

(t.CREATIONDATE)-
    min
  1. (t.CREATIONDATE))*24*60*60,

    count(t.username)/2 ofloginlog t t。 username

    グループ別のユーザーのオンライン時間の統計 (つまり、前後 2 つのレコードの差)
  2. レンダリング:

    説明: 最後のフィールドは、ユーザーのログイン数をカウントするために使用されます。 。 derocleデフォルトを2回削減する日数

  3. Oracle 2つの時間削減デフォルトは、日数の差がある日数です。 (ユーザー名) / 2
  4. from
  5. (
  6. select

    id, ユーザー名, (CREATIONDATE - lgtime) * 24 * 60 * 60 as b

  7. ユーザー名
  8. order

    by ATE) lgtype、

  9. lag(CREATIONDATE) over(パーティション
  10. by

    ユーザー名 order by CREATIONDATE) lgtime

  11. -- USERNAME = 'zhouhui')

  12. group by username

  13. 実装の効果は同じなので、ここには投稿しません私基本的な SQL をもう一度見直しました (笑)

    20100520 一部の変更では、統計的な数値が統計的な TYPE 1 と 0 ではないことが必要です。合計と平均を記録し、TYPE=0 の値のみをカウントします。
  14. この方法では、SQL グループ化はできません。このように考えて、SQL

    SQLコード

  15. select
g.username、g.

​​ time

、h.

count

を改良しました。

max

(t.CREATIONDATE) -

min

(t.CREATIONDATE )) * 24 * 60 * 60)

as隣接する 2 つのレコード間の時間差の SQL 比較

time
  1. ここで 1 = 1

  2. t.username = b.username

  3. as count

  4. from ofloginlog t t.type = '0'

  5. グループ

    by
  6. t.username ) h
  7. where g .username = h.username

  8. orderby

    count
  9. desc

  10. 分析時間の差が違いです唯一の制限が TYPE=0 であるレコードの数だけであるため、統計データの数が不一致であるため、最初に 1 つのグループで実装することが考えられます。 USERNAME と TIME レコードを取得し、TYPE=0 を満たす USERNAME とレコードの数を数えます。SELECT XX FROM A B 2 一時テーブルのインライン リレーションシップを通じて 2 つの結果をマージし、マージされた結果セットを取得します

    この記事では、時間差について説明します。 2 つの隣接する SQL レコードの比較 関連コンテンツの詳細については、PHP 中国語 Web サイトに注目してください。 関連する推奨事項: .net2.0 接続 Mysql5 データベース構成

    Cookie とセッションの違いの詳細な説明

以上が隣接する 2 つのレコード間の時間差の SQL 比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。