
以下のようなデータがあります。
データはある積算データになっています。
時間ごとの差分はどのように抽出すればいいのでしょうか?
<元データ>
time dt1 dt2 dt3
--------------------------
00:00:00 0 0 0
01:00:00 1 4 6
02:00:00 6 7 7
03:00:00 9 8 7
<欲しいクエリ>
time dt1 dt2 dt3
--------------------------
01:00:00 1 4 6
02:00:00 5 3 1
03:00:00 3 1 0
以上よろしくお願いします
No.1ベストアンサー
- 回答日時:
使用されているDBは何でしょうか?
time の間隔が 1:00:00 で固定だとすると
Oracle なら
select
to_char(t2.time, 'HH24:MI:SS'),
t2.dt1 - t1.dt1 dt1,
t2.dt2 - t1.dt2 dt2,
t2.dt3 - t1.dt3 dt3
from
tbl t1,
tbl t2
where
t1.t = t2.t - 1/24;
Access なら
select
t2.t,
t2.d1 - t1.d1,
t2.d2 - t1.d2,
t2.d3 - t1.d3
from
tbl as t1
inner join tbl as t2 on ( t1.t = t2.t - 1/24 );
で目的のデータが取得できます。
SQL-Server も、おそらく Access と同じ書き方で取得できるんじゃないかと思います。
time の間隔が 1:00:00 とは限らないのであれば、また違った工夫が必要になりますが。
(time の間隔が 1:00:00 とは限らないかもしれないので、「自信なし」としておきます。)
この回答への補足
SQLを以下のようにしたら出来ました。
参考になりました。
有難うございました。
SELECT
t2.t,
t2.d1-t1.d1,
t2.d2-t1.d2,
t2.d3-t1.d3
FROM
tbl AS t1
INNER JOIN tbl AS t2
ON hour(t1.t)=hour(t2.t)-1;
ご回答有難うございます。
環境を書くのを忘れてました。
WIN2k、ACCESS2000です。
以下のような、テーブルを作成してテストしたら、
以下のようなクエリになってしまいました。
(3時のデータが抜けている)
取り急ぎ、ご報告まで
<tbl>
td1d2d3
1:00:00000
2:00:00244
3:00:00365
4:00:004106
<クエリ>
tExpr1001Expr1002Expr1003
2:00:00244
4:00:00141
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付型項目のNULLについて(Pos...
-
外部参照してるキーを主キーに...
-
フィルターかけた後、重複を除...
-
SQLで特定の項目の重複のみを排...
-
差し込み後、元データを変更し...
-
SQLで列名を変数にできないでし...
-
for whichの使い方
-
エクセルで最後の文字だけ置き...
-
access2021 VBA メソッドまたは...
-
SELECT 文 GROUP での1件目を...
-
EXISTSを使ったDELETE文
-
Outlook 送受信エラー
-
カーソル0件の時にエラーを発生...
-
UPDATE文のWHERE条件に他のテー...
-
Accessの実行時エラーについて
-
速度が低下し無効になったアド...
-
JANコードとPOSコードは同じ?
-
SQL Left Join で重複を排除す...
-
SQLでフィールドの順番を変更し...
-
日本語のエイリアスは" "で囲...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
片方のテーブルに無いデータを...
-
SQLServerでtime型への変換
-
ストアドプロシージャについて
-
BULKINSERTのWITHオプションに...
-
されてしまいます。
-
サブクエリ
-
Access 2000 サブクエリとJOIN
-
ユーザーID入力について
-
SQLを教えてください
-
データ突合のよい方法を教えて...
-
マクロの同時実行
-
差分のSQL
-
PIC12C509A のアセンブルができ...
-
【SQL】指定期間の合計、MAX...
-
指定値を否定した条件で、NULL...
-
sql express内部結合して重複行...
-
VBA 100億になると#が自動...
-
テーブルの結合(GROUP BY句の制...
-
フィルターかけた後、重複を除...
-
差し込み後、元データを変更し...
おすすめ情報