- PR -

一定のインターバルでデータを取得する方法について

1
投稿者投稿内容
ひろ
ベテラン
会議室デビュー日: 2003/12/26
投稿数: 97
投稿日時: 2008-10-09 23:36
こんばんは。

DB:sqlserver2005

SQLクエリにて、下表に○で示した
飛び飛びのデータを取得したいのですが、その方法が分かりません。

プログラムのfor文で、where区を生成するしかないのでしょうか。
ご存知の方、ご教授お願いいたします。

・例
No A
-------
1 23.5 ○
2 22.3
3 25.0 ○
4 32.2
5 19.5 ○

[ メッセージ編集済み 編集者: ひろ 編集日時 2008-10-10 12:55 ]
deanna
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 118
投稿日時: 2008-10-10 08:20
飛び飛びのルールがわかりませんが。
別の表を作成しておいてjionするかunionするか
とんくま
ベテラン
会議室デビュー日: 2005/08/02
投稿数: 56
お住まい・勤務地: 東京
投稿日時: 2008-10-10 16:08
No が奇数の行を取得すればいいんじゃないでしょうか?
例えば、
WHERE No % 2 = 1
とか。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-10-11 00:43
目的がイマイチわからないので、なんともいえませんが、
方法は色々とありますが、取得した後のプログラムで、
レコードを読み飛ばしたほうが効率的かと思います。
ひろ
ベテラン
会議室デビュー日: 2003/12/26
投稿数: 97
投稿日時: 2008-10-20 09:40
引用:

かつのりさんの書き込み (2008-10-11 00:43) より:
目的がイマイチわからないので、なんともいえませんが、
方法は色々とありますが、取得した後のプログラムで、
レコードを読み飛ばしたほうが効率的かと思います。




温度を10分おきに採取しているのですが、
長期間(例えば1年間)のデータを検索する際に、
対象のデータ量が膨大になるため検索した結果が返ってきません。

そこは一定のインターバルをもってデータを
取得しても使用上問題ないのですが、(例えば1日当たり2データ)
そのデータの取り方が分からないため悩んでいます。

プログラムでデータを飛ばして取得する方法は分かるのですが、
結局SQLクエリを投げた際に固まってしまうため
その処理での改善が必要と考えております。

[ メッセージ編集済み 編集者: ひろ 編集日時 2008-10-20 09:40 ]
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2008-10-20 09:53
1日当たり2データなのであれば
条件句で0時0分と12時0分のデータを
取得するように指定すればいいのでは?
(もしかして時間の列が無い?)
ひろ
ベテラン
会議室デビュー日: 2003/12/26
投稿数: 97
投稿日時: 2008-10-20 10:10
引用:

Kingさんの書き込み (2008-10-20 09:53) より:
1日当たり2データなのであれば
条件句で0時0分と12時0分のデータを
取得するように指定すればいいのでは?
(もしかして時間の列が無い?)



ご返答ありがとうございます。

時間列はあるのですが、30台ほど設置した計測器からのデータが
一定の時分に取得する形ではありません。
(装置によって0時2分であったり0時4分であったりする)

あ!それでも範囲検索でいけるかも知れません。
たった今は試せる環境ではありませんが後ほど試してみます。
1

スキルアップ/キャリアアップ(JOB@IT)