私は多少新しいSQLですので、何か助けが必要です。前もって感謝します!SQL - 指定された値の間に連続した列値を追加します
私は現在のスキャンと次間の時間(秒)を計算するために結合を使用することができた2014年
AcctID DateScanned
16 2015-12-09 13:24:19.000
16 2015-12-09 13:24:43.000
16 2015-12-09 13:25:49.000
16 2016-02-10 11:19:58.000
16 2016-02-10 11:20:26.000
16 2016-02-20 10:18:54.000
16 2016-02-20 10:18:56.000
16 2016-02-20 10:18:58.000
16 2016-05-23 11:39:47.000
16 2016-06-08 13:02:11.000
16 2016-08-31 20:02:10.000
16 2016-09-14 15:30:40.000
16 2016-09-14 15:31:31.000
MS SQL Serverで以下のようなテーブルを持っていますスキャン(TimeDiff)。
SELECT a.AcctID, a.DateScanned, MIN(b.DateScanned) AS NextScan
, DATEDIFF(SECOND,a.DateScanned, MIN(b.DateScanned)) AS TimeDiff,
FROM myTable a
LEFT JOIN myTable b
ON a.AcctID = b.AcctID AND a.DateScanned < b.DateScanned
GROUP BY a.AcctID, a.DateScanned
AcctID DateScanned NextScan TimeDiff
16 2015-12-09 13:24:19.000 2015-12-09 13:24:43.000 24
16 2015-12-09 13:24:43.000 2015-12-09 13:25:49.000 66
16 2015-12-09 13:25:49.000 2016-02-10 11:19:58.000 5435649
16 2016-02-10 11:19:58.000 2016-02-10 11:20:26.000 28
16 2016-02-10 11:20:26.000 2016-02-20 10:18:54.000 860308
16 2016-02-20 10:18:54.000 2016-02-20 10:18:56.000 2
16 2016-02-20 10:18:56.000 2016-02-20 10:18:58.000 2
16 2016-02-20 10:18:58.000 2016-05-23 11:39:47.000 8040049
16 2016-05-23 11:39:47.000 2016-06-08 13:02:11.000 1387344
16 2016-06-08 13:02:11.000 2016-08-31 20:02:10.000 7282799
16 2016-08-31 20:02:10.000 2016-09-14 15:30:40.000 1193310
16 2016-09-14 15:30:40.000 2016-09-14 15:31:31.000 51
16 2016-09-14 15:31:31.000 NULL NULL
私は= 900 TimeDiff <を持っていると、そのグループの最初のDateScannedで結果を表示する連続した行のために一緒にTimeDiff値を追加する必要があります。この例では、次のように表示されます。
AcctID DateScanned Result
16 2015-12-09 13:24:19.000 90
16 2016-02-10 11:19:58.000 28
16 2016-02-20 10:18:54.000 4
16 2016-09-14 15:30:40.000 51
ありがとうございました。
あなたはここにあなたのクエリを貼り付けてもらえますか? – Terminus
データを再作成する時間がありません。最初のクエリを実行しますか?最初のステップをペーストします –
私はクエリを追加しました。ありがとう – ti034