실시간으로 설비 데이터를 계속 받고 있는중인데
90
99
100
92
90
100
.
.
.
이런식으로 계속 받고 있습니다. 이걸로 RS차트를 구현해야 하는데
RS차트 공식이 데이터간 이동범위라고 하더라구요.. .
그럼 처음 90과 그다음 99 사이가 9가 이동범위인데
만약에 데이터가 10개가 있다고 가정하면 이걸 루프로 돌릴수 있을까요?
루프를 돌려서
9, 1, 8, 2, 10... 이런식으로 자동으로 select가 가능하게 가능할까요....
Comment 2
-
Terry
2016.05.09 09:32
-
짱나부러
2016.05.10 10:56
Terry님 말씀 하신 것처럼 순서 보장을 할 수 있는 컬럼이 존재하고 sql 2012 이상이시면 아래 참고하셔서 하셔도 될 것 같습니다~
https://msdn.microsoft.com/ko-kr/library/hh213125(v=sql.120).aspx
데이터를 어떤 형태로 받고 있으신건지요?
제가 예상하기로는
DB Table 에 Insert 되고 있는 형태이며
그 데이터를 토대로 값을 추출하고자 하는듯한데 맞으신지?
제 가정이 맞다고 했을 경우입니다.
1. seq나 date, time 등의 데이터가 발생한 시점들을 알 수 있는 별도의 컬럼이 존재하는지?
-> 존재하는 경우 -> 해당컬럼 이용해서 Select 하면 끝
-> 존재하지 않는 경우 -> Table Insert 시에 날짜/시간 또는 순번(채번) 컬럼이 있어서 해당 키로 데이터를 판별가능하게끔 해야됨
시점들을 알 수 있는 컬럼이 있고, 해당 컬럼이 순번(seq) 형태로 저장되어있다고 가정했습니다.
하기 쿼리 참고하세요.
---쿼리시작---
;With tblA(num,seq) As
(
Select 90 ,1 Union All
Select 99 ,2 Union All
Select 100 ,3 Union All
Select 92 ,4 Union All
Select 90 ,5 Union All
Select 100 ,6
)
Select ABS(b.num - a.num)
From tblA a
Inner Join
tblA b
On a.seq = b.seq + 1
Order By a.seq Asc
---쿼리끝---