zoukankan      html  css  js  c++  java
  • 枚举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

    很简单。

    (本文完)

  • 相关阅读:
    循环语句 for , forin , forEach
    Haxe
    Haxe数据类型
    jango中间件的使用
    python的遍历模式
    python文件读写
    python3.5以上自带的虚拟环境在各种环境下的使用方法
    冒泡排序
    工厂方法模式
    redis 配置
  • 原文地址:https://www.cnblogs.com/boss-he/p/4709164.html
Copyright © 2011-2022 走看看