質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Q&A

解決済

2回答

2095閲覧

時間の差を求めて、件数を取得

prso

総合スコア14

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

0グッド

0クリップ

投稿2017/05/30 06:04

今取り組んでいる課題で
受信時間と送信時間が縦に並んでるデータがあり、
その時間の差を取り出して同じ時間ずつまとめたいと思っています。
例)
ID Name 時間 状況
01 person1 9:35:22.050 受信
01 person1 9:35:22.070 送信ーー差が0.020
02 person2 9:35:22.050 受信
02 person2 9:35:22.070 送信ーー差が0.020
03 person3 9:35:23.060 受信
03 person3 9:35:23.090 送信ーー差が0.030

取得したい結果は
時間差 件数
0.020 2
0.030 1
というような結果にしたいです。
自分の知識ではどうにもならないので
助けてもらいたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

自己結合でIDとNAMEが同じ受信レコードと送信レコードを結合し、その結果をGROUP BYしてください。

sql

1SELECT 2 t.sabun 3 ,count(*) 4FROM 5( 6 SELECT 7 t_r.id 8 ,t_r.name 9 ,t_r.jikan AS jushin_jikan 10 ,t_s.jikan AS soushin_jikan 11 ,DATEDIFF(millisecond, t_r.jikan, t_r.jikan) AS sabun 12 FROM 13 tablename AS t_s 14 INNER JOIN tablename AS t_r 15 ON t_r.joukyou = 'jushin' 16 AND t_s.joukyou = 'soushin' 17 AND t_r.id = t_s.id 18 AND t_r.name = t_s.name 19) AS t 20GROUP BY t.sabun 21ORDER BY t.sabun

投稿2017/05/30 07:07

編集2017/05/30 07:25
SVC34

総合スコア1149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

prso

2017/05/30 07:19

時間の差は取得できました! あとは、これで同じ時間の差をカウントしたいのですが、 どうすればカウントできますでしょうか。
SVC34

2017/05/30 07:20

カウントもできるようSQLを修正しました
SVC34

2017/05/30 07:29 編集

文法エラーあったので修正 (t.count(*) -> count(*))
prso

2017/05/30 07:27

これでカウントできそうなのですが、 t.count(*)の所に赤い線が引かれ、どうしてもそこが治せません。 何が原因でなっているのでしょうか。
prso

2017/05/30 07:35

修正したものを使ってみたのですが、差分が全て0になります。 どこかで書き方を間違うとそうなってしまうのでしょうか。
prso

2017/05/30 07:39

すいません。自分が一部間違っていました。直してみたところ件数がしっかり取得できていました。長い間手を取らせてしまい申し訳ございません。 このたびは本当に助かりました。ありがとうございます。
guest

0

DATEDIFFでどうでしょう。

投稿2017/05/30 06:08

kunai

総合スコア5405

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

prso

2017/05/30 06:52

それはどのように使えばよいですか? SQLに触れて1ヶ月くらいしかたっておらず、 DATEDIFFの説明を見ても何をどうすれば いいのか分かりませんでした。
kunai

2017/05/30 06:59

リンク先を見てみてください。「DATEDIFF」の部分がリンクになっていますので。
prso

2017/05/30 07:04

見ましたが、どうやってそのデータを DATEDIFFの中に入れるのか分かりませんでした。 入れるときになにかしなければならないのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問