DB 일부를 리스트에 뿌려줄때요..

DB 일부를 리스트에 뿌려줄때요..

QA

DB 일부를 리스트에 뿌려줄때요..

본문

예를들어 전체 자료(row)가 500개가 있습니다. 각각 1부터 500까지의 값을 담고 있다고 가정.

sql 구문으로최근 100개만 추출합니다. 401~500 의 값을 리스트에서 확인할 수 있는 상태입니다.

 

단순히 각 행의 값을 보여주는거면 간단한데, 각 행마다 해당 행 이전 10행분의 데이타를 연산한 값을

같이 보여주고자 한다면 401부터 410행까지는 온전한 연산을 할 수가 없습니다.

 

이처럼 DB 전체 중 일부만 보여줘야 하고, 이전 행의 데이타를 사용한 추가 연산작업이 필요할 경우

처음부터 행이 추가될 때마다 연산된 데이타를 별도의 DB에 기록하는게 최선의 방법인지 궁금합니다.

 

아니면 110개의 행을 추출하고, 리스트에서만 뒤 10행을 감추면 연산은 가능하고 보여지지 않게 되는것인지도요.

이 질문에 댓글 쓰기 :

답변 2

각 행마다 해당 행 이전 10행분의 데이타를 연산한 값을...

 

이것이 문제요소로 보여집니다.

 

이전 10행의 기준은 무엇인가요?

 

기준이 Fix된 내용이라면 컬럼을 추가해서 

행을 출력하는 룰을 만들어 계산을 수행하여

조회되는 셋으로 보여지게 할수있을것 같습니다.

 

물론, 컬럼을 하나더 추가해서

계산완료된 출력대상 이란 조건도 있어야겠고

순서라는 컬럼이 추가되서 이전 10행이란 값이 온전히 틀어지지 않고 늘 일정하게 나오도록 해야겠죠

 

정리하면

 

1. 순서  => 무슨 기준인지는 모르지만 

2. 상태 =>  계산완료, 계산전, 계산중.. 뭐든 필요한컬럼

3.  값 => 이전 10행의 계산된 값 

이렇게 필드를 추가 구성하고

 

계산루틴을 만들어서 

순서에 의해 이전 10행을 추출 계산을 1행부터 500행까지.. 1~10은 이전행이 없을수도있겠지만요

계산완료 상태를 구성하면

 

말씀하신 내용을 limit 401, 500까지도 이상없이 추출가능할것같습니다.

 

한방쿼리로 해결하려고 해서 그런게 아닌가 싶네요

단계를 구성하세요

말씀하신 내용은 쿼리로 해결안될듯 하니

100개의 행을 가져와서 이전 행 10개를 합산해야 한다면 한번 쿼리시 1000개를 가져와서 

10개씩 끊어서 계산한후 계산된 값을 배열에 담은후 보여줘야 할듯요.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,128 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT