数据库环境:SQL SERVER 2005

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

aaarticlea/png;base64,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" alt="" />

解题思路:

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

很简单。

(本文完)

枚举N行N列的自然数列的更多相关文章

  1. 吴裕雄--天生自然python学习笔记:pandas模块用 dataframe.loc 通过行、列标题读取数据

    用 df.va lue s 读取数据的前提是必须知道学生及科目的位置,非常麻烦 . 而 df.loc 可直接通过行.列标题读取数据,使用起来更为方便 . 使用 df.loc 的语法为: 行标题或列标题 ...

  2. word-wrap&&word-break,奇偶行、列设置样式

    1.word-wrap和word-break区分. 来源场景:机械租赁mvc驾驶员信息查看: 当备注的文字多的时候,第一列的值成这模样: 解决方案:设置table 的td可自动换行.首先table设置 ...

  3. DataGridView 行、列的隐藏和删除

    ) 行.列的隐藏 [VB.NET] ' DataGridView1的第一列隐藏 DataGridView1.Columns(0).Visible = False ' DataGridView1的第一行 ...

  4. List实现行转列的通用方案

    最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记录一下. 阅读目录 问题介绍 ...

  5. 基于上三角变换或基于DFS的行(列)展开的n阶行列式求值算法分析及性能评估

    进入大一新学期,看完<线性代数>前几节后,笔者有了用计算机实现行列式运算的想法.这样做的目的,一是巩固自己对相关概念的理解,二是通过独立设计算法练手,三是希望通过图表直观地展现涉及的两种算 ...

  6. List,DataTable实现行转列的通用方案

    最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记录一下. 阅读目录 问题介绍 ...

  7. C#List实现行转列

    List实现行转列的通用方案 最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记 ...

  8. MySQL--数据表操作--行转列和列转行

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11782549.html MySQL--数据表操作: 会用到的查询操作. 1. Limit的用法 ...

  9. SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL, ...

随机推荐

  1. 【转】Ubuntu下配置samba服务器--不错

    原文网址:http://my.oschina.net/junn/blog/171388 设置虚拟机的网络方式为桥接方式: 一. samba的安装: sudo apt-get insall samba  ...

  2. C#入门经典学习笔记一

    这篇主要讲C#的一些语法. 1.委托 委托类型声明的格式如下: public delegate void TestDelegate(string message); delegate 关键字用于声明一 ...

  3. HDU 2602 Bone Collector

    http://acm.hdu.edu.cn/showproblem.php?pid=2602 Bone Collector Time Limit: 2000/1000 MS (Java/Others) ...

  4. Windows Phone8开发工具包简述(转载)

    Windows Phone 软件开发包 (SDK) 8.0 可为您提供开发 Windows Phone 8 和 Windows Phone 7.5 应用和游戏所需的工具. 概述Windows Phon ...

  5. Off-by-one错误

    在迭代循环中,误用> < ≥ ≤符号,有可能导致循环次数多一次或者少一次,就会引发off-by-one错误,混用半开区间和闭区间时,也经常发生此类错误,解决方法是利用最小的输入值去测试代码 ...

  6. 作品第一课----循环改变DIV颜色

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. mysql常用的一些命令,用于查看数据库、表、字段编码

    1.查看数据库支持的所有字符集         show character set;或show char set; 2.查看当前状态 里面包括当然的字符集设置         status或者\s ...

  8. asp.net将本地Excel上传到服务器并把数据导入到数据库

    前台代码: <td class="formLabel"> 批量修改: </td> <td class="formInput"> ...

  9. java 删除字符串中的特定字符

    /** * Delete any character in a given String. * @param inString the original String * @param charsTo ...

  10. sed和awk最佳入门教程

    文档<sed和awk最佳入门教程>——摘自<实战linux shell编程与服务器管理>,简单易懂,适合初学者. 下载地址:http://download.csdn.net/d ...