2009-08-04 8 views
1

値は(0-23)の間で交互に変わる簡単なサインカーブをSQLで作成しようとしています。グラフ上のサインカーブ - SQL

私は以下の変数を持っています:x、現在のオフセットです。 yはデスティネーションされたオフセット、zはマイ最大値(23)です。

私は表現を助けることができる誰ですか?

よろしく、 トムはあなたがダミー行セットのいくつかの種類を必要とする。..

はどんな答えをGREATFULだろう

+0

あなたの試みを投稿してください。これは無料のワークエクスチェンジではありません! –

+0

あなたの期待した結果をより詳しく説明できますか? – Zed

+3

...これをSQLでやろうとしている理由を説明できますか? – Eric

答えて

4

をGoogleで検索し、それについて読んで、しかし、haventは、それが動作するようになったまだ..ていますこれを行う。

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において:

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

それは本当に私を助けた!ありがとう! –