首页 > 开发 > 综合 > 正文

枚举N行N列的自然数列

2024-07-21 02:46:12
字体:
来源:转载
供稿:网友
枚举N行N列的自然数列

数据库环境:SQL SERVER 2005

现有一个需求,要枚举1-50个自然数,分10行5列展示。如图,

解题思路:

1.利用数字辅助表,枚举1-50的自然数列

2.将数字集进行行转列,对5求余作为转列的条件,并按照整除5分组

SQL实现

/*枚举1-50的自然数列*/WITH    x0          AS ( SELECT   number               FROM     master..spt_values               WHERE    type = 'P'                        AND number >= 1                        AND number <= 50             )    /*行转列*/    SELECT  ( number - 1 ) / 5 + 1 AS 行号 ,            MAX(CASE WHEN number % 5 = 1 THEN number                END) AS 第一列 ,            MAX(CASE WHEN number % 5 = 2 THEN number                END) AS 第二列 ,            MAX(CASE WHEN number % 5 = 3 THEN number                END) AS 第三列 ,            MAX(CASE WHEN number % 5 = 4 THEN number                END) AS 第四列 ,            MAX(CASE WHEN number % 5 = 0 THEN number                END) AS 第五列    FROM    x0    GROUP BY ( number - 1 ) / 5
View Code

很简单。

(本文完)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表