枚举N行N列的自然数列
数据库环境: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列的自然数列的更多相关文章
- 吴裕雄--天生自然python学习笔记:pandas模块用 dataframe.loc 通过行、列标题读取数据
用 df.va lue s 读取数据的前提是必须知道学生及科目的位置,非常麻烦 . 而 df.loc 可直接通过行.列标题读取数据,使用起来更为方便 . 使用 df.loc 的语法为: 行标题或列标题 ...
- word-wrap&&word-break,奇偶行、列设置样式
1.word-wrap和word-break区分. 来源场景:机械租赁mvc驾驶员信息查看: 当备注的文字多的时候,第一列的值成这模样: 解决方案:设置table 的td可自动换行.首先table设置 ...
- DataGridView 行、列的隐藏和删除
) 行.列的隐藏 [VB.NET] ' DataGridView1的第一列隐藏 DataGridView1.Columns(0).Visible = False ' DataGridView1的第一行 ...
- List实现行转列的通用方案
最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记录一下. 阅读目录 问题介绍 ...
- 基于上三角变换或基于DFS的行(列)展开的n阶行列式求值算法分析及性能评估
进入大一新学期,看完<线性代数>前几节后,笔者有了用计算机实现行列式运算的想法.这样做的目的,一是巩固自己对相关概念的理解,二是通过独立设计算法练手,三是希望通过图表直观地展现涉及的两种算 ...
- List,DataTable实现行转列的通用方案
最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记录一下. 阅读目录 问题介绍 ...
- C#List实现行转列
List实现行转列的通用方案 最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记 ...
- MySQL--数据表操作--行转列和列转行
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11782549.html MySQL--数据表操作: 会用到的查询操作. 1. Limit的用法 ...
- SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL, ...
随机推荐
- Cookies和Session理论总结
今天主要学习了Cookies和Session,网络上关于这方面的知识可谓很多,让人眼花缭乱,在此作一个小结.本文不讲多,不讲什么高大上的,只是抛出一块砖,讲三个问题:①什么是Cookies和Sessi ...
- 计算几何(容斥原理,圆交):HDU 5120 Intersection
Matt is a big fan of logo design. Recently he falls in love with logo made up by rings. The followin ...
- POJ ---2531
Network Saboteur Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8751 Accepted: 4070 ...
- android自动化(2)
使用monkeyrunner 自动化删除程序的时候出现如下错误 在任务管理器卸载android adb,Ok..然后再次使用的时候就出现这个问题, Try below steps: Close the ...
- JavaScript高级程序设计32.pdf
样式 在HTML中定义样式的方式有3种:通过<link/>元素包含外部样式表文件.使用<style/>元素定义嵌入式样式,以及使用style特性定义针对特定元素的样式,“DOM ...
- sublime中文乱码解决办法
欲解决问题,关键在于让Sublime Text 2支持GB2312和GBK.步骤如下: 1.安装Sublime Package Control. 在Sublime Text 2上用Ctrl+-打开控制 ...
- Vi和Vim的区别及联系
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道在vi里,按 u只能撤消上次命 ...
- 使用.htaccess实现apache URL重定向
一.什么是URL重定向? URL重定向(URL redirection,或称网址重定向或网域名称转址),是指当使用者浏览某个网址时,将他导向到另一个网址的技术. 二.URL重定向怎么配置? 1)首先需 ...
- Spark RDD/Core 编程 API入门系列之动手实战和调试Spark文件操作、动手实战操作搜狗日志文件、搜狗日志文件深入实战(二)
1.动手实战和调试Spark文件操作 这里,我以指定executor-memory参数的方式,启动spark-shell. 启动hadoop集群 spark@SparkSingleNode:/usr/ ...
- PC-网络教程之宽带小型组网方案
由于某些家庭或小型局域网用户的各种需求和设备不同,所以继续写出几个组网方案让大家参考参考.如有错误之处,欢迎大家多多指点. 1,用网桥实现增加接入点(比如你有5台机子要上网,而你的小型路由只有4个接口 ...