오라클 쿼리 질문입니다. 특정 시점에 변한 값부터 평균 구하기.

iadoy의 이미지

데이터가 0부터 시작해서 2 정도 사이의 값에서 변동하다가 어느 한 시점에 100이상으로 증가한 후부터 값이 +- 5 사이에서 변동하게 됩니다...

이런 데이터들이 있을 때 처음 값이 크게 변했을 때부터 시작 시점을 잡아서 평균값을 구해야 합니다.
(설명이 되었는지 모르겠네요.)

이런 경우에는 쿼리로 처리할 수 있는 방법이 있나요?...

쿼리를 어떻게 작성해야 할지...설명 좀 부탁드립니다...

감사합니다..

익명 사용자의 이미지

단순히 값이 1000 이상인 레코드들을 모아서 평균을 내면 안되는 것인가요?
풀어야할 문제를 조금 더 분명히 알려주시면 좋을 것 같습니다.

iadoy의 이미지

수집되는 데이터가 0과 2 사이의 값에서 시작해서 어느 시점에 200 등의 값으로 증가한뒤에 수집되는 데이터를 가지고 평균을 구해야 합니다.

idx data
1 0
2 1
3 2
4 1
5 0
6 1
7 200
8 201
9 203
10 204
11 200
12 80
13 70
14 0
15 100
16 299
17 300
18 350
19 200
20 201
21 203
22 206
....

위와 같이 어느 시점에서 수치가 증가한 이후부터 모든 데이터에 대한 평균을 구해야 합니다.
즉 idx 7부터 22까지의 평균을 구해야 하는 것이죠. (idx는 구분, 설명하기위해서 표시한 것입니다.)

익명 사용자의 이미지

갑자기 증가할 때의 증가분을 적당히 미리 정해주지 않으면 어려울겁니다. 예를 들어 갑자기 값이 100 이상 커지면 그 이후의 모든 값에 대한 평균을 구한다고 하지요.

CREATE
	tmp_tbl
AS
	SELECT
		t1.idx AS idx, t1.data - t2.data AS jump, t2.data AS data
	FROM 
		(SELECT * FROM tbl HAVING idx != COUNT(*) SORT BY idx) t1, 
		(SELECT * FROM tbl WHERE idx > 1 SORT BY idx) t2
 
SELECT AVERAGE(data) FROM tmp_tbl WHERE idx >= (SELECT MIN(idx) FROM tmp_tbl WHERE jump > 100)

테스트 안해봤습니다. 오랜만에 써보는 sql 이라 문법 자체가 틀렸을 수도 있습니다. 그냥 아이디어만 보시면 될 듯 합니다.

사실 sql에는 별로 어울리지 않는 작업 같습니다. sql은 정말 set에 대한 query에나 어울리는 언어이지, 데이터를 list로 보고 작업하는 이런 일이나 데이터 분석에는 어울리지 않는 것 같습니다.
다른 언어로 작성하실 수 있다면 그 편이 훨씬 나을 겁니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.