2009-08-04 4 views
1

값 (0-23)을 번갈아 나타내는 SQL에서 사인 곡선을 쉽게 만들려고합니다.그래프의 사인 곡선 - SQL

다음 변수가 있습니다 : x, 현재 오프셋입니다. y는 목적지 오프셋이고, z는 최대 값 (23)입니다.

표현을 도와 줄 수있는 사람은 누구입니까? ..

최고 감사합니다, 톰

+0

시도를 게시하십시오. 이것은 무료 교환이 아닙니다! –

+0

예상 결과를 더 자세히 설명해 주시겠습니까? – Zed

+3

... 왜 SQL에서이 작업을 수행하려고하는지 설명 할 수 있습니까? – Eric

답변

4

당신은 더미 행 집합의 어떤 종류의 필요를 봤 그것에 대해 읽을 수 있지만 havent 한은

어떤 답변을 greatful겠습니까 .. 아직 일을 가지고 이 작업을 수행.

Oracle 물 :

SELECT level - 1, SIN((level - 1) * 3.141592653/12) 
FROM dual 
CONNECT BY 
     level <= 24 

SQL Server 2005+ 물 :

WITH rows AS 
     (
     SELECT 0 AS level 
     UNION ALL 
     SELECT level + 1 
     FROM rows 
     WHERE level <= 23 
     ) 
SELECT level, SIN((level) * 3.141592653/12) 
FROM rows 

PostgreSQL 물 :

SELECT level, SIN(level * 3.141592653/12) 
FROM generate_series(0, 23) level 

MySQL 물 :

,536,913,632 10
SELECT level, SIN(level * 3.141592653/12) 
FROM (
     SELECT 0 AS level 
     UNION ALL 
     SELECT 1 AS level 
     UNION ALL 
     … 
     /* 
     Yes, you need to repeat it 24 times. 

     Everyone who reads it: please call MySQL and ask them 
     to implement generate_series. 

     Thanks. 
     */ 
     UNION ALL 
     SELECT 23 AS level 
     ) q 
+0

정말 도움이되었습니다! 감사! –