您需要某种虚拟行集来完成此操作。
在
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